引言
最近购买了公司的美团云,把blog从GitHub page搬到了云服务器,自然还要折腾点东西,nginx是一直没接触过又特别想了解的一项,于是花了点时间折腾了一下,顺便加上了https和http2,把arayzou.com全站都转了HTTP2。上个图:
漂亮的绿色小锁:
控制台资源的协议显示h2:
Linux版本选择
服务器的Linux版本我选择的是Ubuntu 16.04,为什么?
nginx安装
1 | sudo apt-get install nginx |
Ubuntu安装之后的文件结构大致为:
- 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
- 程序文件在/usr/sbin/nginx
- 日志放在了/var/log/nginx中
- 并已经在/etc/init.d/下创建了启动脚本nginx
- 默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)
nginx常用的一些命令:
启动
1
sudo nginx
重启nginx
1
sudo nginx -s reload
修改配置后检查配置文件是否正确
1
nginx -t -c /etc/nginx/nginx.conf
查看nginx进程
1
ps -ef | grep nginx
停止nginx
1
kill -QUIT 主进程号
暴力停止
1
kill -9 进程号
nginx配置
上面说到nginx的配置文件都在/etc/nginx下,在此目录下有个nginx.conf文件,可以当做是nginx的主配置文件,打开文件可以看到这样一行:
1 | include /etc/nginx/conf.d/*.conf; |
意思是引入conf.d文件夹下的所有.conf的配置文件,所以我们自己的配置文件基本上都配置在.conf文件夹下就好。
进入到.conf文件夹,新建一个配置文件比如:vi demosite.conf,里面的配置内容我这里说两种,一种是动态站点,一种是静态资源目录
- 动态站点的配置文件代码:
server_name是你自己的域名,proxy_pass中配置server上的动态站点的端口
1 | server |
- 静态资源目录的配置文件代码:
1 | server |
配置完成后执行sudo nginx -s reload重启nginx及可生效。