Nginx + hexo + Gridea搭建博客
2020-09-09 本文已影响0人
李伟13
参考
https://blog.csdn.net/qsx741olm/article/details/93028732
Unbuntu 18
普通用户加sudo
更新
apt-get update
apt-get upgrade
安装
apt-get install nginx
查看
systemctl status nginx
q退出
重载
service nginx restart
或:
service nginx reload
浏览器输入http://Your Id
出现
[err]对于nginx.service: Failed to parse PID from file /run/nginx.pid:
参考https://blog.csdn.net/weixin_37557729/article/details/107012073
mkdir -p /etc/systemd/system/nginx.service.d
printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" >/etc/systemd/system/nginx.service.d/override.conf
systemctl daemon-reload
systemctl restart nginx.service
查找配置文件路径
我的是
/etc/nginx/nginx.conf
修改配置文件的时候记得备份
打开default
vim /etc/nginx/site-available/default
将其中的root修改成你的项目地址
其中有一些坑如下:
sudo netstat -tulnp | grep ':21 ' //检查21端口占用情况
sudo kill -9 15620 //杀死进程id 15620
sudo pkill -9 nginx //强行杀死nginx
sudo systemctl status nginx.service//检查nginx运行状况
sudo nginx -t //测试nginx配置文件,即你刚才配置的文件,成功才可以
sudo service nginx start //开启服务
sudo ufw status ///防火墙状态
sudo ufw allow 8086 ///开放8086端口
阿里云下载SSL证书发现他给的引导是centos的,问题不大。
结合阿里的和下面链接的就OK
https://blog.csdn.net/Wangdada111/article/details/71189389
下面是阿里给的引导
#以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。
server {
listen 443; #配置HTTPS的默认访问端口号为443。此处如果未配置HTTPS的默认访问端口,可能会造成Nginx无法启动。Nginx 1.15.0以上版本请使用listen 443 ssl代替listen 443和ssl on。
server_name www.certificatestests.com; #将www.certificatestests.com修改为您证书绑定的域名,例如:www.example.com。如果您购买的是通配符域名证书,要修改为通配符域名,例如:*.aliyun.com。
root html;
index index.html index.htm;
ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名称。
ssl_certificate_key cert/domain name.key; #将domain name.key替换成您证书的密钥文件名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}
我的default文件里有两个server
第二行里虽然阿里说1.15使用443 ssl代替但是我是1.14的,还是用了直接加ssl的办法,没有什么问题。
在server 80端口里面rewrite重定向
server {
listen 443 ssl;
server_name cert_domain;
root Youraddr;
index index.html index.htm;
#ssl on;
#cert
ssl_certificate pem_absolute_addr;
ssl_certificate_key key_absolute_addr;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套;
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80 default_server;
listen [::]:80 default_server;
root Your_addr;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name Yourdomain;
rewrite ^ https://$host$request_uri? permanent;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}