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