一个计算机技术爱好者与学习者

0%

好好学Nginx:Nginx入门篇

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
2
/etc/nginx/
/etc/nginx/conf

nginx.conf一般放在这两个目录中,nginx.conf中会写清楚子配置目录,比如:

1
2
3
http {
include /etc/nginx/conf.d/*.conf;
}

那么,子配置文件就放在 /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
2
3
4
5
6
7
8
9
10
11
12
13
14
server {
listen 80;
server_name hello.voidking.com;
charset utf-8;

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

root /usr/share/nginx/html/;
index hello.html;
}
}

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
2
3
ps -ef | grep nginx
kill -9 xxx
/usr/sbin/nginx -c /etc/nginx/conf/nginx.conf

6. Nginx配置详解

Nginx配置详解,请参阅文档:《好好学Nginx:Nginx配置详解》

  • 本文作者: 好好学习的郝
  • 原文链接: https://www.voidking.com/dev-nginx-start/
  • 版权声明: 本文采用 BY-NC-SA 许可协议,转载请注明出处!源站会即时更新知识点并修正错误,欢迎访问~
  • 微信公众号同步更新,欢迎关注~