最近一直在准备家里的服务器部署一个自己用的网站玩玩,一来是用来学习部署的线管知识,二来,后面有空学点前端,可以部署到自己网站玩玩。
参考链接:https://juejin.cn/post/7057403454473371661
docker的安装先跳过了,前面已经写过博客.
1. 先运行一次 nginx,为了拷贝容器内配置文件到本地
docker run -d -p 80:80 --name nginx / -v /home/nginx/html:/usr/share/nginx/html / -v /home/nginx/logs:/var/log/nginx / nginx:latest
2. 拷贝容器内配置文件到本地, [将容器内部的配置目录nginx赋值到用户本地目录下并改名目录名字为conf]
docker container cp nginx:/etc/nginx ~/nginx/conf
3. 删除之前的容器
docker stop nginx && docker rm nginx
4. 根据本地配置文件运行新容器
docker run -d -p 80:80 -p 443:443 --name nginx / -v ~/nginx/conf:/etc/nginx / -v ~/nginx/logs:/var/log/nginx / -v ~/nginx/html:/usr/share/nginx/html / nginx:latest
如果不需要配置ssl证书开启https访问,此时就可以把这个nginx当作普通静态服务器使用了。
其中~/nginx中的几个文件夹:
conf目录: nginx的配置文件,具体配置可以看官网
html目录: 放静态资源,如html、css、js等
logs目录: 日志文件夹,访问的日志可以在其中查看
改了配置文件,记得通过docker restart nginx重启下nginx。
三、配置 SSL 证书开启 HTTPS 访问[未操作, 后续操作跟新]
2. 把证书解压后上传到证书文件夹
cd ~/nginx/conf/conf.d mkdir cert
把刚才下载的证书上传到这个文件夹
3. 修改 nginx 配置开启 HTTPS 访问
vi ~/nginx/conf/conf.d/default.conf
写入以下内容
server {
#SSL 访问端口号为 443
listen 443 ssl;
#填写绑定证书的域名
server_name 0101.ml;
#证书文件名称
ssl_certificate /etc/nginx/conf.d/cert/0101.ml_bundle.pem;
#私钥文件名称
ssl_certificate_key /etc/nginx/conf.d/cert/0101.ml.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照以下套件配置,配置加密套件,写法遵循 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;
}
}
server {
listen 80;
#填写绑定证书的域名
server_name falser.top;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
需要改的地方:
server_name: 改为自己的域名(两处)
ssl_certificate: .crt后缀的证书文件
ssl_certificate_key: .key后缀的证书私钥文件
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/279577.html