1. Nginx是什么?
Nginx (engine x) 是一个高性能的HTTP静态页面服务器,更是一个常用的反向代理服务器,同时还可以作为IMAP/POP3/SMTP代理服务器。
本文中,我们学习安装Nginx,并使用Nginx配置一个 hello world 静态站点,为Nginx进阶做好准备。
2. 安装Nginx
linux中安装nginx,参考文档《CentOS7设置Nginx开机自启动》
docker安装nginx,参考文档《使用Docker安装配置Nginx》
3. Nginx目录结构
因为nginx目录是可以指定的,所以真实使用的目录结构请以命令查看。
1 | ps aux | grep nginx |
3.1. 程序目录
可能的程序目录:
1 | /usr/sbin/nginx |
3.2. 配置目录
可能的默认配置目录:
1 | /etc/nginx/ |
nginx.conf一般放在这两个目录中,nginx.conf中会写清楚子配置目录,比如:
1 | http { |
那么,子配置文件就放在 /etc/nginx/conf.d/ 目录中,并且子配置文件必须以 .conf 结尾。一般情况下,我们比较少修改 nginx.conf,大部分时候都是修改子配置文件。
3.3. 根目录
可能的默认Web根目录:
1 | /usr/share/nginx/html |
根目录下一般会有nginx自带的index.html和50x.html。
curl ${nginx_server}
时看到内容,就是index.html文件中的内容。
我们自己的静态页面项目,最好不要放到默认根目录下,因为默认根目录可以通过ip和路径访问到,这往往是不符合预期的。
推荐的静态页面项目目录为:/usr/share/nginx/work
3.4. 日志目录
可能的默认日志目录:
1 | /var/log/nginx |
日志文件中一般有两个日志文件,error.log和access.log。
4. hello world
1、创建一个html文件
1 | echo "hello world" > /usr/share/nginx/html/hello.html |
2、创建一个nginx配置文件 conf.d/hello.conf
1 | server { |
3、测试配置
1 | nginx -t |
4、重新加载配置
1 | nginx -s reload |
5、本地 /etc/hosts 中添加一条解析
1 | 192.x.x.x hello.voidking.com |
其中 192.x.x.x 是nginx主机的IP地址。
6、浏览器访问 http://hello.voidking.com
可以在页面中看到 hello world
5. 重启Nginx方法
方法一:使用systemctl重启nginx
1 | systemctl restart nginx |
方法二:先kill,再通过bin文件启动nginx
1 | ps -ef | grep nginx |
6. Nginx配置详解
Nginx配置详解,请参阅文档:《好好学Nginx:Nginx配置详解》