> 技术文档 > 云计算学习100天-第25天

云计算学习100天-第25天


部署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 可以看到页面内容