最近把博客迁移到了云服务器上,需要自己配置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/;
    }