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。
把里面的两证书文件
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!