使用docker部署nginx
1.先启动一个nginx
docker container run -d -p 80:80 -p 443:443 --rm --name nginx nginx
--rm 停止后删除
-d 后台运行
-p 端口映射
--name 名称
2.拷贝配置文件
docker container cp nginx:/etc/nginx .
mv nginx conf
这样,就将docker中的/etc/nginx 文件夹。 copy到了当前目录下
之后,通过mv,将nginx文件夹改名为conf
这个时候,看配置文件中,就可以看到根目录/usr/share/nginx/html
3.接下来,就可以映射目录了
docker stop nginx # 前面--rm就保证了自动删除
docker container run -d -p 80:80 -p 443:443 \
--restart always \
-v $PWD/html:/usr/share/nginx/html \
-v $PWD/conf:/etc/nginx \
--name nginx \
nginx
备注:这里一般都需要映射2个目录:1是网站文件存储目录、2是nginx配置目录
4.后面就开始配置nginx的配置文件了
server {
listen 80;
server_name localhost;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name localhost;
#请填写证书文件的相对路径或绝对路径
ssl_certificate /etc/nginx/certs/website.com_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key /etc/nginx/certs/website.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
}