docker系列 -- 安装Nginx

1、拉取Nginx镜像

docker pull nginx

2、启动容器

docker run -d --name nginx -p 80:80 nginx

3、访问Nginx,出现Nginx欢迎页面

curl localhost

4、创建目录存储 Nginx 的配置和日志

mkdir -p /docker/nginx && cd /docker/nginx
mkdir conf log
mkdir -p conf/vhost

5、从容器内复制配置文件到宿主机,经配置文件映射到容器内对应的目录中(这样在宿主机就能改容器里面的配置)

docker cp nginx:/etc/nginx/conf.d/default.conf /docker/nginx/conf/vhost/default.conf

 docker cp nginx:/etc/nginx/nginx.conf /docker/nginx/conf/nginx.conf

6、重建容器

1、docker stop nginx && docker rm nginx
2、docker run
--name nginx -p 80:80 \
-v /docker/nginx/conf/vhost:/etc/nginx/conf.d \
-v /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /www:/var/www/html \(这里是nginx默认访问的地方,/www这块的路径必须与PHP的一致)
-v /docker/nginx/log:/var/log/nginx --link php7.4-fpm:php7.4-fpm -d nginx

7、查看容器状态

docker ps -a

 

问题1:curl localhost报错,提示file not find 

  原因:nginx读取网站根目录时没有找到php文件

  解决:找到项目目录挂载位置(启动容器时的-v /webroot:/var/www/html)。我的项目目录挂载在 /var/www/html目录下

    修改Nginx配置文件的fastcgi_param为  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

    修改root 目录为 /var/www/html (如果有指定项目,后面接项目的根目录)

    最后重启Nginx

 

posted @ 2022-04-27 12:59  陈浩宇人呢  阅读(235)  评论(0编辑  收藏  举报