Docker搭建PHP运行环境完整步骤(图文教程)

  server {

  # 监听端口。此端口不能被占用了

  listen 80;

  # 此站点的域名。直接在宿主机配置一个host域名,或者在阿里云等云服务商那里解析过来。

  server_name www.testdocker.com;

  # 此站点的入口目录。这里要注意,/www/public/ 路径是容器内的路径。因为等下会把宿主机的项目路径挂载到容器内的 /www 目录。所以这里访问 /www就相当于访问宿主机的项目路径。

  root /www/public/;

  #配置url的伪静态设置

  location / {

  autoindex off;

  if (!-e $request_filename){

  rewrite ^/(.*)$ /index.php?/$1 last; break;

  }

  #伪静态设置

  try_files $uri $uri/ /index.php$is_args$query_string;

  index index.php index.html index.htm;

  }

  #配置url处理及转发PHP请求

  location ~ .php(/|$) {

  # 入口文件

  fastcgi_index index.php;

  # PHP项目的IP和端口。这是php-fpm的地址。由于nginx处理不了PHP代码,所以需要把请求转发给php-fpm进行处理。

  fastcgi_pass 10.10.10.68:9000;

  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

  include fastcgi_params;

  }

  # 用户的访问日志。注意,这目录必须存在,否则nginx将启动不了。由于我把宿主机的项目路径www挂载到了容器内的/www目录,所以宿主机的项目路径www里需要有wwwlogs目录。

  access_log /var/log/nginx/docker_nginx_access.log;

  # 错误日志

  error_log /var/log/nginx/docker_nginx_error.log;

  }