什么是LNMP架构
LNMP平台就是Linux、Ngnix、 MySQL、 PHP的组合架构,需要Linux服务器、MySQL数据库、PHP解析环境
MySQL安装配置
为了与Nginx、PHP环境保持一致,此处选择采用源代码编译的方式安装MySQL组件
MySQL部署的方法
- 编译安装MySQL
- 优化调整
- 初始化数据库
- 启动mysq|服务并设置root数据库账号的密码
PHP解析环境的安装
配置网页动静分离,解析PHP,有两种方法可以选择
- 使用PHP的FPM模块
- 将访问PHP页面的Web请求转交给Apache服务器去处理
较新版本的PHP已经自带FPM模块,用来对PHP解析实例进行管理、优化解析效率
- FastCGI将Http Server和动态脚本语言分离开
- Nginx专门处理静态请求,转发动态请求
- PHP_FPM专门 ]解析PHP动态请求
单服务器的LNMP架构通常使用FPM的方式来解析PHP,本次也使用FPM模块处理动态请求。
PHP编译安装步骤
- 编译安装PHP
- 编译选项时添加"–enable-fpm” 以启用此模块
- 安装后的调整,主要是配置文件的建立与相应命令工具的路径优化
- 安装ZendGuardloader (提高PHP解析效率),并进行加载配置
实验准备
1.将宿主机上的工具包共享出去
2.通过Samba服务将工具包挂载到Linux系统
[root@localhost ~]# mkdir /mnt/tools
[root@localhost ~]# smbclient -L //192.168.100.50/
Enter SAMBA\root's password:
OS=[Windows 10 Enterprise LTSC 2019 17763] Server=[Windows 10 Enterprise LTSC 2019 6.3]
Sharename Type Comment
--------- ---- -------
IPC$ IPC 远程 IPC
share Disk
tools Disk
Users Disk
Connection to 192.168.100.50 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
NetBIOS over TCP disabled -- no workgroup available
[root@localhost ~]# mount.cifs //192.168.100.50/tools /mnt/tools/
Password for root@//192.168.100.50/tools:
[root@localhost ~]#
编译安装Nginx服务
1.将nginx服务源码包解压到“/opt/”目录
[root@localhost ~]# cd /mnt/tools/
[root@localhost tools]# ls
awstats-7.6.tar.gz extundelete-0.2.4.tar.bz2 forbid.png jdk-8u191-windows-x64.zip LAMP-C7 picture.jpg
cronolog-1.6.2-14.el7.x86_64.rpm fiddler.exe intellijideahahau2018.rar john-1.8.0.tar.gz LNMP
[root@localhost tools]# cd LNMP/
[root@localhost LNMP]# ls
Discuz_X3.4_SC_UTF8.zip mysql-boost-5.7.20.tar.gz nginx-1.12.2.tar.gz php-7.1.10.tar.bz2 php-7.1.20.tar.gz
[root@localhost LNMP]# tar zxvf nginx-1.12.2.tar.gz -C /opt/
...............//省略解压过程
[root@localhost LNMP]#
2.安装编译所需工具包
[root@localhost ~]# yum install gcc gcc-c++ pcre-devel zlib-devel -y
...........//省略安装过程
[root@localhost ~]#
3.切换到nginx服务源码包目录,创建一个nginx用户
[root@localhost LNMP]# cd /opt/
[root@localhost opt]# ls
nginx-1.12.2 rh
[root@localhost opt]# cd nginx-1.12.2/
[root@localhost nginx-1.12.2]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
[root@localhost nginx-1.12.2]#
[root@localhost nginx-1.12.2]# useradd -M -s /sbin/nologin nginx //-M 不创建家目录
[root@localhost nginx-1.12.2]# id nginx
uid=1001(nginx) gid=1001(nginx) 组=1001(nginx)
[root@localhost nginx-1.12.2]#
4.配置nginx服务
[root@localhost nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \ //安装路径
> --user=nginx \ //属主
> --group=nginx \ //属组
> --with-http_stub_status_module //启用统计模块
5.编译安装nginx服务
[root@localhost nginx-1.12.2]# make && make install
..........//省略过程
[root@localhost nginx-1.12.2]#
6.在易于系统识别的目录下,建立nginx服务命令的软链接
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ //建立软链接
[root@localhost nginx-1.12.2]# nginx -t //配置文件测试
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is s