本文主要讲述在Docker中怎么配置Nginx
一、Docker中安装Nginx请参考:https://www.cnblogs.com/whereGo/p/13523597.html。
二、配置Nginx:
1、进入Nginx容器
docker exec -it nginx bash #进入nginx容器
2、容器里面需要安装Vim
apt-get update #这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
apt-get install -y vim
3、查看Nginx配置文件
cd etc/nginx #进入Nginx目录
cat nginx.conf #查看配置文件
4、编辑http配置文件
(1)http配置
cd /etc/nginx/conf.d #进入上图红色框中的目录
vim default.conf #vim进入编辑该文件
server {
listen 80; #访问端口
listen [::]:80;
server_name ems.shuzhaocl.top; #访问ip地址或域名
location / {
proxy_pass http://102.122.56.92:80; #转发http地址
}
}
(2)https配置
a、先退出容器并把https签名文件放到容器目录中
exit #退出容器
docker cp /ShuZhaoCL/4899247_ems.shuzhaocl.top_nginx.zip nginx:/etc/nginx/HttpsSignatureFiles #copy签名文件到容器指定文件夹
进入nginx容器下的etc/nginx/HttpsSignatureFiles目录
unzip 4899247_ems.shuzhaocl.top_nginx.zip #解压文件
如果出现以下错误,则安装unzip
apt-get install unzip #容器中安装unzip
b、解压成功以后配置default.conf文件
cd /etc/nginx/conf.d #进入上图红色框中的目录
vim default.conf #vim进入编辑该文件
server {
listen 443 ssl; #访问端口(https)
listen [::]:443 ssl;
server_name ems.shuzhaocl.top; #访问IP地址或域名
ssl_certificate /etc/nginx/HttpsSignatureFiles/4899247_ems.shuzhaocl.top.pem; #域名的签名文件pem地址
ssl_certificate_key /etc/nginx/HttpsSignatureFiles/4899247_ems.shuzhaocl.top.key; #域名的签名文件key地址
ssl_session_timeout 100000m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:RC4;
ssl_prefer_server_ciphers on;
location / {
proxy_pass https://102.122.56.92:443; #转发的https地址
}
}
5、查看配置文件是否无误并重启nginx容器;
nginx -t #在容器中输入该命令查看配置文件是否正确
如上图所示则为正确,重启nginx容器:
exit #退出容器
docker restart nginx #重启nginx容器