前言
自学 Docker 系列,了解常用包的使用和配置安装,此篇记录 nginx 的安装
安装配置
下载 nginx
1 | docker pull nginx:latest |
普通运行
1 | docker run --name nginx -p 80:80 -d nginx |
如果需要挂载在本地,则需要设置虚拟卷宗
1 | docker run --name nginx -p 80:80 -v /Users/saitane/Docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /Users/saitane/Docker/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /Users/saitane/Docker/nginx/html:/usr/share/nginx/html -d nginx |
此处我将
nginx.conf
、default.conf
和html
静态文件夹 映射到本地的 nginx 文件夹内,之后就不用进入容器内配置文件以及繁琐的docker cp
拷贝代码了,但得注意生成容器后需要将文件拷贝到本地
服务器 nginx 安装
除了 Docker 的安装方式,此处记录一下我在 centos 装 nginx 遇到的一些问题和解决方法。
安装 nginx
centos 装 ngixn 先查看下是否有安装 nginx 的源
1 | yum repolist |
若没有安装源,则安装一下 nginx 的源
1 | rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm |
启动 nginx
配置前先看一看是否有历史遗留的 nginx 服务
1 | netstat -lntp | grep nginx |
如果需要深度清理残留 nginx 文件,
find / -name nginx
根据情况来处理即可
处理完成后,注册 nginx 服务
1 | # 注册开机启动 nginx |
注意,更新 nginx 文件后需要重启 nginx
然后 nginx 就启动成功了
配置 nginx
yum 安装的 nginx 配置文件一般在 /etc/nginx
内,配置 nginx.conf
或者 conf.d/default.conf
即可,更多配置可以翻查下文档,这里就不介绍了。
1 | # 是在记不住就用这个命令查找,它会列举处所有地址 |
此处仅仅改了 root 文件夹的位置,方便项目构建
1 | # conf.d/default.conf |
便捷指令记录:
- 查看服务器 IP 地址命令:
ifconfig -a
- 查看端口是否占用:
lsof -i:<端口>
问题总结
nginx 反向代理替换规则
代理地址是否添加尾部 ‘/‘ 会影响到路径的匹配,总结的规律如下:
1 | location ^~ /xxx/ { |
1 | location ^~ /xxx/ { |
nginx 的 nginx.pid
丢失问题
nginx 重启时有时候会丢失 pid 文件,特别是被强制杀掉进程的情况,这种情况下我们需要进入 nginx 的安装目录的 sbin 下重新启动 nginx:
1 | # cd <nginx-dir>/sbin |
防止此丢失问题发生,在更新 nginx 时尽量使用 nginx reload 来平滑重启,重载配置。