首先,申请免费证书,这个就不说了。
然后,将你要申请的域名,在云解析里,弄一个记录类型A
问:http可以访问https无法访问,造成该问题的原因很多,但我们应该做的第一件事是什么?
答:检查端口是否开启,刚接触https的朋友可能不太了解,https的默认端口并不是80,而是443。
将80和443端口都打开。务必要打开~
然后,才继续
Nginx安装 下载nginx1.10的docker镜像:
docker pull nginx:1.10
从容器中拷贝nginx配置 先运行一次容器(为了拷贝配置文件):
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-d nginx:1.10
将容器内的配置文件拷贝到指定目录:
docker container cp nginx:/etc/nginx /mydata/nginx/
去到/mydata/nginx下面修改文件名称:
mv nginx conf
终止并删除容器:
docker stop nginx
docker rm nginx
使用docker命令启动:记得加上443(10个小时的折磨)
docker run -p 80:80 \
--name nginx \
-p 443:443 \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10
然后搞配置
ip要写服务器的ip
docker stop nginx 停止
docker rm nginx 移除
docker run -p 80:80 --name nginx -p 443:443 -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/logs:/var/log/nginx -v /mydata/nginx/conf:/etc/nginx -d nginx
打开/mydata/nginx/conf/conf.d 里面的 default.conf文件
如果配置http就是上面就是第一段
如果是https就是第二段,将配置文件放在 和nginx.conf 这个文件同一级的cert文件下(没有自己创建一个文件夹)
server {
listen 80;
server_name www.cloudtiger.top;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://112.74.36.41:8888;
}
}
server {
listen 80;
listen 443 ;
server_name blog.cloudtiger.top;
ssl on;
root html;
index index.html index.htm;
#为虚拟主机指定pem格式的证书文件
ssl_certificate cert/cloudtiger.top.pem;
#为虚拟主机指定私钥文件
ssl_certificate_key cert/cloudtiger.top.key;
#ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
#指定使用的ssl协议
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://112.74.36.41:8888;
index index.html index.htm;
}
}
添加完配置文件后,重启nginx容器,并检查下日志看是否有error。
docker restart nginx docker logs nginx
Linux下的部署
- 使用命令进行打包
npm run build
-
打包后的代码位置
-
将dist目录打包为dist.tar.gz文件
-
将dist.tar.gz上传到linux服务器(nginx相关目录)
-
使用该命令进行解压操作
tar -zxvf dist.tar.gz
- 删除nginx的html文件夹
rm -rf html
- 移动dist文件夹到html文件夹
mv dist html
- 重启nginx
docker restart nginx