部署LNMP环境
安装软件
#在前一天已经安装nginx的基础上安装MariaDB,php和php-fpm
yum -y install mariadb mariadb-server mariadb-devel php php-mysqlnd php-fpm
#mariadb(数据库客户端软件)、mariadb-server(数据库服务器软件)、mariadb-devel(依赖包)、php(识别php语言)、php-fpm(进程管理器服务)、php-mysqlnd(PHP的数据库扩展包)
启动Nginx服务,MySQL服务
/usr/local/nginx/sbin/nginx
ss -antlp | grep 80
systemctl enable --now mariadb #加入开机自启并立即启动
systemctl status mariadb #查看服务状态
启动PHP-FPM服务
systemctl enable --now php-fpm #加入开机自启并立即启动
systemctl status php-fpm #查看服务状态
使用PHP测试页面
#拷贝动态网站测试页面到nginx中
cp /root/lnmp_soft/php_scripts/test.php /usr/local/nginx/html/
使用浏览器访问192.168.88.5/test.php 则无法看到页面内容,而是会当成要下载的文件,因为无法解析php动态页面
配置动静分离
使用IP端口方式连接——
通过调整Nginx服务端配置,实现以下目标:
配置Fast-CGI支持PHP网页解析
Fast-CGI是快速公共(通用)网关接口,可以连接如nginx等网站程序到网站的语言解释器(比如php) ,php-fpm进程使用了Fast-CGI解析动态网站页面
#修改Nginx配置文件并启动服务
vim /usr/local/nginx/conf/nginx.conf
...
65 location ~ \.php$ { #~是使用正则表达式匹配以.php结尾,\ 转义
66 root html;
67 fastcgi_pass 127.0.0.1:9000; #将请求转发给本机php-fpm的9000端口
68 fastcgi_index index.php; #网站默认页
69 include fastcgi.conf; #加载fastcgi配置文件
70 }
#修改 php-fpm配置文件
vim /etc/php-fpm.d/www.conf
38 listen = 127.0.0.1:9000 #更改php-fpm端口号(使用网络通信)
115 pm.max_children = 50 #最大进程数量(了解)
120 pm.start_servers = 5 #最小进程数量(了解)
ystemctl restart php-fpm #重启服务
ss -antlp | grep 9000 #查看监听端口
#测试
#启动或者重加载nginx
/usr/local/nginx/sbin/nginx -s reload
再次使用浏览器访问192.168.88.5/test.php 可以看到页面内容
使用socket方式连接——
#更改php-fpm配置
vim /etc/php-fpm.d/www.conf
38 listen = /run/php-fpm/www.sock #socket方式(使用进程通信)
55 listen.acl_users = apache,nginx,nobody #添加nobody账户
systemctl restart php-fpm #重启服务
#修改Nginx配置文件并启动服务
vim /usr/local/nginx/conf/nginx.conf
...
65 location ~ \.php$ { #匹配以.php结尾
66 root html;
67 fastcgi_pass unix:/run/php-fpm/www.sock; #将请求转发给php-fpm进程
68 fastcgi_index index.php;
69 include fastcgi.conf; #加载fastcgi配置文件
70 }
/usr/local/nginx/sbin/nginx -s reload
使用浏览器访问192.168.88.5/test.php 可以看到页面内容