LNMP网络架构的搭建

操作准备:准备三台虚拟机 

 安装 MySQL 服务

(1)准备好mysql目录上传软件压缩包并解压

cd /opt
mkdir mysql
tar xf mysql-boost-5.7.44.tar.gz

(2)安装mysql环境依赖包

yum -y install ncurses ncurses-devel bison cmake openssl-devel gcc gcc-c++ make

(3)创建一个mysql用户

(4)进入软件包目录进行配置软件模块

cd /opt/mysql/mysql-boost-5.7.44

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

(5)编译

make -j 2 

(6)安装

make install

(7)修改/etc/my.cnf配置文件

先卸载mariadb,CentOS7默认情况下会安装mariadb

yum remove -y mariadb*

然后添加以下内容

[client]
port = 3306
socket=/usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

(8)修改 mysql 安装目录和 my.cnf 配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

(9)设置路径的环境变量

使用 echo 重定向输入到 /etc/profile 文件的末尾

echo 'export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib' >> /etc/profile	

运行 /etc/profile 文件

source /etc/profile

(10)进入 /usr/local/mysql/bin/ 目录,进行初始化数据库

./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

(11)将 mysql 添加到 systemctl 服务管理并开启 

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld

(12)修改 mysql 的登录密码并授权远程登录

可以查看当前数据库相关信息

show databases;

安装 php 服务

(1)上传 php 软件包到 /opt/php 目录下

mkdir php   #在opt目录下面创建一个php目录用于存放php软件包

(2)安装 php 环境依赖包

yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

(3)解压 php 软件包

tar xf php-7.1.10.tar.bz2

(4)配置软件模版

切换到 /opt/php-7.1.10/ 目录下

cd /opt/php-7.1.10/

配置软件相关文件、路径、信息(必须在 /opt/php-7.1.10/ 目录下执行)

./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

(5)编译

make -j 2    #注意当前计算机最大支持运行的核的数量

(6)安装

make install

(7)将 php 的可执行程序文件放入路径环境变量的目录(用于系统识别)

创建软连接,用于路径优化

ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/

(8)调整主配置文件

cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini	
vim /usr/local/php/lib/php.ini

修改1170行

修改939行——设置时区

(9)调整进程服务配置文件

cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

修改17行——将pid的文件路径给打开

(10)调整扩展配置文件

cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf

修改23、24行

修改36行——设置监听服务器地址

修改62行——修改允许访问的客户端地址

(11)创建php用户

useradd -M -s /sbin/nologin php

(12)启动php-fpm服务

cp /opt/php/php-7.1.10/sapi/fpm/php-fpm.service /usr/lib/systemd/system
systemctl daemon-reload
systemctl start php-fpm.service
systemctl enable php-fpm.service

查看端口

netstat -lntp | grep php

安装 Nginx 服务

(1)关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vim /etc/sysconfig/selinux

(2)安装nginx环境依赖包

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

(3)准备好nginx目录上传软件压缩包并解压

cd /opt
mkdir nginx
tar xf nginx-1.12.0.tar.gz

(4)创建运行用户

useradd -M -s /sbin/nologin nginx

(5)进入软件包目录进行配置软件模块

cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module

(6)编译

make -j 2 

(7)安装

make install

(8)将 nginx 的可执行程序文件放入路径环境变量的目录(用于系统识别)

创建软连接,用于路径优化

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

(9)添加 Nginx 系统服务

vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

(10)添加权限并重启nginx服务

chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

(11)修改配置文件nginx.conf

重启nginx服务

systemctl restart nginx

(12)创建网页文件

mkdir -p /var/www/html
cd /var/www/html
vim test.php

文件内容

cd /usr/local/nginx/html/
vim zzr.html

文件内容

(13)nginx服务端安装rpcbind nfs-utils实现动态页面访问

yum install -y rpcbind nfs-utils
vim /etc/exports

共享文件

systemctl enable --now rpcbind nfs
exportfs -arv   #在线发布
showmount -e    #检查服务端

(14)php客户端

showmount -e
vim /etc/fstab

192.168.80.40:/var/www/html /var/www/html nfs defaults,_netdev 0 0

mkdir -p /ar/www/html   #创建目录
mount -a                #挂载目录

(15)网页登录验证

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 09:42:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 09:42:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 09:42:08       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 09:42:08       20 阅读

热门阅读

  1. 常用接口测试及接口抓包常用的测试工具

    2024-06-06 09:42:08       6 阅读
  2. MyBatis使用MySQL5和MySQL8的用法

    2024-06-06 09:42:08       7 阅读
  3. Ubuntu 安装 Vulkan SDK

    2024-06-06 09:42:08       11 阅读
  4. 实战:部署三台kafka服务集群

    2024-06-06 09:42:08       10 阅读
  5. LeetCode-day03-3072. 将元素分配到两个数组中 II

    2024-06-06 09:42:08       7 阅读
  6. Qt——前言

    2024-06-06 09:42:08       7 阅读