Nginx容器化与PHPDocker环境搭建基础

1、关于 Nginx 部署

采用docker的方式部署nginx,需要将nginx的配置文件和运行根目录从容器映射到宿主机。

  • 配置文件(default.conf)在容器中的/etc/nginx/conf.d目录下。
  • 运行根目录在容器中的/usr/share/nginx/html目录下。

以下是docker run一个nginx容器的示例:

docker run -itd --name [container name] -p 8079:80 -v /www/wwwroot/[container name]/conf.d:/etc/nginx/conf.d -v /www/wwwroot/[container name]/html:/usr/share/nginx/html nginx:1.20.2
1.1、default.conf 配置

以下是在项目中接触到的常用nginx配置:

charset utf-8; 
client_max_body_size 128M; 
client_body_buffer_size 30M;

location / {
    
    allow 192.168.8.102;
    deny all;
    root   /usr/share/nginx/html;
    index  index.html index.htm;
}
location /api/ {
    proxy_set_header   Host  $host;
    proxy_set_header   X-Real-IP $remote_addr;
    # proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://192.168.2.176:85/;
}

2、关于 PHP环境部署

2.1、下载并运行容器
  • 需要注意的是,PHP不能单独部署,需要搭配Nginx或Apache部署。我选择Nginx,因此需要两个镜像:php:8.0-fpm、nginx:1.20.2。
  • 此外,需要创建两个目录,一个用于配置nginx,一个用于代码运行(需要注意的是,nginx和php需要公用一个代码运行目录)。
/www/wwwroot/项目名称/conf.d  # nginx配置目录
/www/wwwroot/项目名称/html  # 代码目录

以上准备工作做好以后,即可运行容器:

docker run -itd -p 9000:9000 --name [container name] -v /www/wwwroot/[container name]/html/:/www/[container name]/ php:8.0-fpm 
docker run -itd --name [container name] -p 8000:80 -v /www/wwwroot/[container name]/html/:/usr/share/nginx/html/ -v /www/wwwroot/[container name]/conf.d/:/etc/nginx/conf.d/ --link [container name]:php nginx:1.20.2

需要注意的是,php容器需要指定端口9000,并映射代码目录;nginx容器需要映射配置目录和代码目录,并指定连接php容器。

2.2、配置php扩展

安装php扩展需要一下四个步骤:

  • 1、进入php容器。
  • 2、安装扩展。
  • 3、运行test命令。
  • 4、退出并重新启动容器。
docker exec -it [PHP容器名称] bash  # 进入容器
docker-php-ext-install pdo pdo_mysql  # 安装pdo和pdo_mysql扩展
make test  # 位置
exit  # 退出容器
docker restart [PHP容器名称]  # 重启容器

有任何问题欢迎留言交流探讨。

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青柠豆腐

希望我的文章对你有帮助!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值