拉取镜像:docker pull nginx;
最基本的启动:
输入命令:docker run --name nginx -p 80:80 -d nginx
将nginx配置文件等映射到宿主机
在服务器上新建四个映射目录;
conf: 配置文件目录
www: 存储网站网页的目录
logs: 日志
cert: ssl证书存放目录;(如果要添加证书的话就创建)
将docker容器内的配置文件复制到服务器刚新建的conf文建下面nginx的映射配置文件,日后只需要修改次配置文件即可;
输入命令: docker cp nginx:/etc/nginx/nginx.conf /mydocker/nginx/conf
nginx:docker中运行ndinx容器的容器名称 /etc/nginx/nginx.conf :docker中运行ndinx容器的配置文件目录 /mydocker/nginx/conf :本服务器的文件目录
新建一个nginx的欢迎页在/nginx/www文件夹下;
Nginx 欢迎使用nginx!
最后重新启动nginx服务;
http启动命令:
docker run -d -p 80:80 --name nginx -v /mydocker/nginx/www:/usr/share/nginx/html -v /mydocker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /mydocker/nginx/logs:/var/log/nginx nginx
修改conf配置文件实现代理和负载;
upstream ticket {
server 192.168.29.18:80 weight=2;
server 192.168.23.158:8080 weight=1;
}
server{
listen 80;
server_name zhuangjiabang.top;
location /{
proxy_pass http://ticket;
}
}
https启动命令:
首先去下载ssl证书的pem和key文件,上传到新建的/mydocker/nginx/cert文件夹下面;
docker run -d -p 443:443 --name nginx -v /mydocker/nginx/www:/usr/share/nginx/html -v /mydocker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /mydocker/nginx/logs:/var/log/nginx -v /mydocker/nginx/cert:/etc/nginx/cert nginx
修改conf配置文件实现代理和负载;
具体配置参考阿里云ssl证书安装配置
server{
listen 443 ssl;
server_name zhuangjiabang.top;
root html;
index index.html index.htm;
ssl_certificate /cert/zhuangjiabang_p.pem;
ssl_certificate_key /cert/zhuangjiabang_k.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location /{
proxy_pass http://ticket;
}
}
Nginx重新加载配置文件:
输入:docker exec -it nginx bash 进入nginx; 然后输入:nginx -s reload 重新加载配置文件此过成不用重启nginx容器; 最后输入:exit 退出容器;
如果报图中的错误是因为配置文件中少了分号。
|