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;
        }

上一篇下一篇

猜你喜欢

热点阅读