阿里云
阿里云大学认证0元起
发表主题 回复主题
  • 140阅读
  • 0回复

[环境部署]使用Docker快速搭建Nginx PHP-FPM环境

级别: 论坛版主
发帖
370
云币
639

=|LB,REN  
实战 O>y*u8  
1、下载nginx官方镜像和php-fpm镜像 !&adO,jN+=  
docker pull nginx +v+Dkyf:V  
docker pull bitnami/php-fpm ]bP1gV(b-  
Cu! S|Xj.  
Z~AgZM R  
笔者未进行更改docker源,依然是官方源。 " M3S  
当然,你可以使用中国源。 \_)[FC@  
P"{yV?CNg  
2、使用php-fpm镜像开启php-fpm应用容器 bx%Ky0Z  
docker run -d --name myFpm -p  -v /var/www/html:/usr/share/nginx/html bitnami/php-fpm rL,kDSLs  
-d : 该参数为后台运行之意 "cwvx8un  
-v : 指定宿主机与容器的映射关系。/var/www/html为宿主机的项目目录(定义的),/usr/share/nginx/html为nginx服务器项目默认的路径。 K BlJJH`z{  
3、使用nginx镜像开启nginx应用容器 eRm*+l|?  
docker run -d --name myNginx -p 8080:80 -v /var/www/html:/usr/share/nginx/html nginx l0r^LK$  
-p : 该参数设置端口对应的关系。所有访问宿主机8080端口的URL会转发到nginx容器的80端口。 Gvl,M\c9-  
4、查看对应的IP信息 SaOOD-u  
首先查看是否启动成功 ,&iEn}xG7i  
docker ps -a >~O/ZDu/@  
I6i qC"BK  
pS "A{k)i  
可以看到,上述在STATUS一栏中显示UP,其含义为正在运行。 +3 J5j+  
aJ J)ZP2+  
查看IP信息 qzWnl[3  
docker inspect myFpm | grep "IPAddress" pmiC|F83!8  
~zoZ{YqP  
\0;EHB  
5、修改nginx的相关配置 iow"X6_l_  
在容器中是没有vim命令的,所以不能在容器中直接修改配置文件。所以我们必须通过变通的方式去解决这个问题,否则只能在每个容器中安装vim。 [+!~RV_  
* $|9e  
首先登录到对应的容器中,查看配置信息路径,这在之后修改时会用到。 XzW\p8D^u  
docker exec -it myNginx /bin/bash fskc'%x  
UW Px|]RC  
m0*_  
-i : –interactive,交互模式。 0?''v>%  
-t : –tty,开启一个伪终端。 u yoV)  
/bin/bash : 必须写,否则会报错。这是开始伪终端时,进入bash界面,也就是命令行界面。 *iUR1V Y  
查看对应的配置文件位置 ft$ 'UJ% j  
82YZN5S3]3  
/etc/nginx/conf.d/default.conf ^V"08  
 eI/@ut}v  
@Ll^ze&HI  
退出命令行,不要使用exit,因为exit会让容器停止。这里使用ctrl + p + q来退出容器。 l M a||  
使用专用的复制命令将配置文件复制到宿主机,然后在宿主机进行编辑(这就是变通的方法) L,3%}_  
;Ouu+#s  
docker cp myNginx:/etc/nginx/conf.d/default.conf ./default.conf % O*)'ni  
这里用到了上一步查询到的配置文件路径信息 + 7nA; C  
>Ft:&N9L{  
在宿主机修改配置文件的php部分,内容如下: ={I(i6  
location ~ \.php$ { wx^1lC2  
   fastcgi_pass   172.17.0.2:9000; : n\D  
   fastcgi_index  index.php; `L"l{^cH  
   fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name; 5r^u7k  
   fastcgi_param  SCRIPT_NAME      $fastcgi_script_name; H,)2Ou-Wn  
   include        fastcgi_params; :&m0eZZ%  
} |Gt]V`4  
再次使用复制命令将其复制到容器中,然后再次进入容器中,将nginx配置文件重新载入 u:>*~$f   
docker cp ./default.conf myNginx:/etc/myNginx:/etc/nginx/conf.d/default.conf !I Byv%m&\  
进入到nginx容器中重新载入配置文件 (Zu8WyT2  
docker exec -it myNginx /bin/bash Ns-3\~QSi  
service nginx reload { pu .l4nk  
成功了 H?j}!JzAC  
(oB9$Zz!t  
转载:Linux运维日志
本人不是云栖社区工作人员。
无论您在使用中遇到什么问题,不要出言不逊!谢谢合作!
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: 88 + 12 = ?
上一个 下一个