实验目的
1、 学会配置nginx+php-fpm平台
2、 使用容器安装php-fpm
3、 使用nginx配置动静分离
任务一、配置nginx支持php
步骤1:启动进入容器nginx
1)启动容器
docker run -d --privileged -p 80:80 nginx /usr/sbin/init
2)进入容器
docker exec -it 容器ID /bin/bash
步骤2:使用yum方式安装php-fpm
1)使用yum方式安装php-fpm
yum install php-fpm -y
2)编辑/etc/php-fpm.d/www.conf,修改监听地址和端口
3)启动php-fpm,并设置开机自启
#systemctl start php-fpm
#systemctl enable php-fpm
4)查看php-fpm监听端口
netstat -anpt
步骤3:配置nginx支持php
1)编辑/etc/nginx/nginx.conf文件, 重新启动nginx服务
server {
listen 80;
server_name localhost;
location / {
root /var/www;
index index.html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
include fastcgi_params;
}
}
2)在/var/www目录下建立index.php文件
<?php
phpinfo();
?>
3)在主机中使用浏览器访问 http://虚拟机地址/index.php
任务二、配置nginx+apache实现动静分离
Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术。动静分离技术其实是采用代理的方式,在server{}段中加入带正则匹配的location来指定匹配项
针对PHP的动静分离:静态页面交给Nginx处理,动态页面交给PHP-FPM模块或Apache处理。
在Nginx的配置中,是通过location配置段配合正则匹配实现静态与动态页面的不同处理方式
步骤1:启动进入容器centos:v1
1)启动容器
docker run -d --privileged centos:v1 /usr/sbin/init
2)进入容器
docker exec -it 容器ID /bin/bash
步骤2:使用yum方式安装apache和php
1)使用yum安装apache和php
yum install apache -y
yum install php -y
2)编辑/var/www/html/site.php文件
<?php
echo "site2";
?>
3)编辑/etc/httpd/conf/httpd.conf文件设置主目录为/var/www/html
4)重启httpd,查看监听端口
5)配置httpd自启动
systemctl enable httpd
6)在虚拟机使用curl http://容器地址/site.php
步骤3:配置nginx支持动静分离
1)回到nginx容器
2)编辑/etc/nginx/nginx.conf文件
server {
listen 80;
server_name localhost;
location / {
root /var/www;
index index.html;
}
location ~ \.php$ {
proxy_pass http://172.17.0.3;
proxy_set_header host $host;
}
}
3)重启nginx服务
systemctl restart nginx
4)在主机中使用浏览器访问 http://虚拟机地址/site.php