最近把博客迁移到了云服务器上,需要自己配置nginx的一些参数,这里记录一下
域名配置放在/etc/nginx/sites-enabled
下,使用域名作为文件名称
配置域名重定向
主要做了http重定向到https,主域名重定向到www子域名
server {
listen 80;
server_name helywin.com www.helywin.com;
if ($host = 'helywin.com') {
return 301 https://www.helywin.com$request_uri$is_args$query_string;
}
}
域名证书配置
需要把域名提供商那生成的域名文件拷贝到固定位置然后配置好,配置里面的cert
是在/etc/nginx
里面的文件夹
server {
listen 443;
server_name helywin.com www.helywin.com;
ssl on;
root /var/blog/public;
index index.html index.htm;
ssl_certificate cert/www.helywin.com.pem;
ssl_certificate_key cert/www.helywin.com.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;
}
自定义404页面
在主域名配置里面添加
location / {
index index.html index.htm;
error_page 404 /404.html;
}
设置gzip压缩传输
打开大的网页受限于带宽会很慢,5M的Logseq生成的html需要加载50s,于是想到了压缩
在主配域名置里面添加压缩参数
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;
然后在最外面的nginx配置/etc/nginx/nginx.conf
里面找到http
配置组,添加gzip on;
就能开启了
把其他目录的网页挂载到指定路由下
使用location参数,在主域名下如下设置
location /note/ {
alias /www/note/;
}