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 @   陈浩宇人呢  阅读(236)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
历史上的今天:
2021-04-27 RabbitMQ基本概念详细介绍
点击右上角即可分享
微信分享提示