当前位置:   article > 正文

蓝易云 - 使用Docker构建nginx和php-fpm环境的方法

蓝易云 - 使用Docker构建nginx和php-fpm环境的方法

构建一个基于Docker的nginx和php-fpm环境主要包括以下几个步骤:首先创建一个Dockerfile并配置相关内容;接着通过运行Docker容器来构建和启动服务;最后测试配置的正确性并进行容器化部署。具体步骤如下:

  1. 安装Docker:请确保本地已经安装了Docker。若尚未安装,请访问Docker官网下载和安装适用于你系统的Docker版本。
  2. 创建Dockerfile:在项目根目录,创建一个名为 Dockerfile的文件,并打开该文件填写以下配置:
  1. FROM nginx:stable-alpine
  2. RUN apk update && apk add php-fpm \
  3. && mkdir /run/nginx
  4. COPY nginx.conf /etc/nginx/nginx.conf
  5. COPY php-fpm.conf /etc/php7/php-fpm.conf
  6. CMD php-fpm7 && nginx
  7. EXPOSE 80

这个Dockerfile基于轻量级的Alpine Linux和nginx镜像来创建一个新的镜像。它将安装并配置php-fpm,然后将自定义的nginx和php-fpm配置文件复制到容器中。最后,它将启动php-fpm和nginx,并暴露80端口以供外部访问。

 

  1. 添加配置文件:接下来,我们需要创建两个配置文件,一个用于nginx,另一个用于php-fpm。这将分别命名为 nginx.conf和 php-fpm.conf

nginx.conf:

  1. worker_processes auto;
  2. pid /run/nginx.pid;
  3. events {
  4. worker_connections 1024;
  5. }
  6. http {
  7. include /etc/nginx/mime.types;
  8. default_type application/octet-stream;
  9. server_tokens off;
  10. upstream php {
  11. server unix:/var/run/php/php7.0-fpm.sock;
  12. }
  13. server {
  14. listen 80;
  15. server_name localhost;
  16. root /usr/share/nginx/html;
  17. index index.php index.html;
  18. location / {
  19. try_files $uri $uri/ /index.php$is_args$args;
  20. }
  21. location ~ \.php$ {
  22. try_files $uri =404;
  23. fastcgi_split_path_info ^(.+\.php)(/.+)$;
  24. fastcgi_pass php;
  25. fastcgi_index index.php;
  26. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  27. include fastcgi_params;
  28. }
  29. }
  30. }

php-fpm.conf:

 

[global] pid = /var/run/php-fpm.pid error_log = /var/log/php7/error.log [www] listen = /var/run/php/php7.0-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660 user = nginx group = nginx pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 pm.max_requests = 500

  1. 构建镜像:在完成了Dockerfile和配置文件之后,运行以下命令以在本地构建Docker镜像:
docker build -t docker-nginx-php-fpm .
  1. 启动容器:成功构建镜像后,运行以下命令以启动一个新的容器:
docker run -itd -p 8080:80 --name nginx-php-fpm-test docker-nginx-php-fpm
  1. 测试配置:在本地创建一个 index.php文件,其中包含以下内容:
<?php phpinfo(); ?>

将这个文件复制到容器的 /usr/share/nginx/html目录下:

docker cp index.php nginx-php-fpm-test:/usr/share/nginx/html/
  1. 测试运行情况:使用浏览器访问 http://localhost:8080/index.php。如果一切配置正确,你应该能看到PHP信息页面。此时,你已经成功地构建了一个基于Docker的nginx和php-fpm环境。

从这里开始,你可以根据自己的项目需求对配置文件进行修改,并将项目部署到Docker容器中。记住要实现一个完整的、生产级的应用环境,你可能还需要添加数据库支持、安全设置和其他功能模块。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/674093
推荐阅读
相关标签
  

闽ICP备14008679号