最近把博客迁移到了云服务器上,需要自己配置nginx的一些参数,这里记录一下

域名配置放在/etc/nginx/sites-enabled下,使用域名作为文件名称

配置域名重定向

主要做了http重定向到https,主域名重定向到www子域名

1server {
2    listen 80;
3    server_name helywin.com www.helywin.com;
4    if ($host = 'helywin.com') {
5        return 301 https://www.helywin.com$request_uri$is_args$query_string;
6    }
7}

域名证书配置

需要把域名提供商那生成的域名文件拷贝到固定位置然后配置好,配置里面的cert是在/etc/nginx里面的文件夹

 1server {
 2    listen 443;
 3    server_name helywin.com www.helywin.com;
 4    ssl on;
 5    root /var/blog/public;
 6    index index.html index.htm;
 7    ssl_certificate  cert/www.helywin.com.pem;
 8    ssl_certificate_key cert/www.helywin.com.key;
 9    ssl_session_timeout 5m;
10    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
11    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
12    ssl_prefer_server_ciphers on;
13}

自定义404页面

在主域名配置里面添加

1    location / {
2        index index.html index.htm;
3        error_page 404 /404.html;
4    }

设置gzip压缩传输

打开大的网页受限于带宽会很慢,5M的Logseq生成的html需要加载50s,于是想到了压缩

在主配域名置里面添加压缩参数

1    gzip on;
2    gzip_disable "msie6";
3    gzip_vary on;
4    gzip_proxied any;
5    gzip_comp_level 6;
6    gzip_buffers 16 8k;
7    gzip_http_version 1.1;
8    gzip_min_length 256;
9    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参数,在主域名下如下设置

1    location /note/ {
2        alias /www/note/;
3    }