WWW.W1987.CN杨广的个人网站,记录生活的瞬间,分享学习的心得,感悟生活,留住感动,静静寻觅生活的美好
nginx服务器常见配置
nginx服务器常见配置

nginx服务器常见配置

nginx是一个优秀的静态服务器,本博客就搭建在nginx服务器中。本博客由Hexo生成静态文件,上传至nginx里的网站目录中(www)即可,用起来非常方便。现将搭博客中用到的配置总结一下,包括: 排除指定目录; 添加服务器ssl证书; 301重定向

预备

这里介绍查找nginx配置文件路径的方法

查找nginx服务器配置文件路径

不同安装方式,不同服务器的nginx的配置文件路径会不一样,那么使用whereis命令可以很快定位nginx的安装位置

$ whereis nginx
nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx

很明显/etc/nginx就是我们要找的nginx配置路径

排除指定目录

hexo博客在部署时直接采用git上传至服务器中,但是目录中包含了git的配置目录.git,如果不进行排除,在浏览器地址栏中输入文件名,是可以直接访问的,可能会造成一些安全问题,因此,我们要把此目录排除,不能通过浏览器直接访问。

找到配置文件中server的位置,在server里添加如下语句:

server {
  location ~ /. {
      deny all;
  }
}

nginx301重定向

如果一个网站有多个域名(包括二级域名),通过301重定向可以使搜索引擎的权重集中到同一个域名上。

修改配置文件

找到配置文件中server的位置,添加如下语句:

server {
    if ($host != 'tianle.me'){
           rewrite ^/(.*)$ http://tianle.me/$1 permanent;
    }
}

添加SSL证书(支持https访问)

为了装逼,为了安全

申请SSL证书

目前很多网站都可以申请SSL免费证书,安照步骤来就好了,申请成功后下载证书。

在nginx中安装证书

下载完证书,打开后我们会发现有很多服务器,我们选择nginx。

nginx服务器常见配置
证书截图

把里面的两证书文件crt,key上传到服务器的任意路径,如:~/ssl/

修改配置文件

同样,在server里面加入如下:

server{
        # SSL configuration
        #
        listen 443 ssl;
        listen [::]:443 ssl;

        #rewrite ^(.*) https://$host$1 permanent;

        #ssl on;
        ssl_certificate ~/ssl/1_tianle.me_bundle.crt;
        ssl_certificate_key ~/ssl/2_tianle.me.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
}

重启nginx服务

sudo service nginx restart

Done!

发表回复