Linux下Nginx学习笔记
安装Nginx
装非常简单。 按照以下步骤在Debian系统上安装Nginx:
1、更新包索引
sudo apt update
2、安装Nginx软件包
sudo apt install nginx
3、安装过程完成后,Nginx服务将自动启动。 您可以通过运行以下curl命令来验证它:
curl -I 127.0.0.1
输出内容:
HTTP/1.1 200 OK Server: nginx/1.10.3 Date: Mon, 27 Aug 2018 22:29:02 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Mon, 27 Aug 2018 22:27:54 GMT Connection: keep-alive ETag: "5b847aea-264" Accept-Ranges: bytes
调整防火墙配置
如果使用iptables过滤与系统的连接,则需要打开HTTP(80)和HTTPS(443)端口。通过发出以下命令打开必要的端口:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
使用systemctl管理Nginx服务
您可以使用systemctl命令来管理与任何其他systemd单元相同的Nginx服务。
1.要停止Nginx服务,请运行:
sudo systemctl stop nginx
2. 要再次启动它,请键入:
sudo systemctl start nginx
3. 重启Nginx服务:
sudo systemctl restart nginx
4. 在配置更改后重新加载Nginx服务:
sudo systemctl reload nginx
5. 禁用Nginx服务在启动时启动:
sudo systemctl disable nginx
6. 启用Nginx服务在启动时启动:
sudo systemctl enable nginx
Nginx配置文件的结构和最佳实践
- Nginx配置文件存储在/etc/nginx目录中。
- 主要的Nginx配置文件是/etc/nginx/nginx.conf。
- 服务器块(vhost)配置文件存储在/etc/nginx/sites-available目录中。 Nginx不使用此目录中的配置文件,除非它们链接到/etc/nginx/sites-enabled目录。
- 激活服务器块是通过从sites-available目录中的配置文件站点到启用站点的目录创建符号链接来完成的。
- 要编写更易于维护的代码,遵循标准命名约定是个好主意。 例如,如果您的域名是mydomain.com,那么您的配置文件应该命名为/etc/nginx/sites-available/mydomain.com.conf。
- /etc/nginx/snippets目录包含可包含在服务器块文件中的配置片段。 如果使用可重复的配置段,则可以将这些段重构为片段,并将片段文件包含到服务器块中。
- Nginx日志文件(access.log和error.log)位于/var/log/nginx/目录中。 建议为每个服务器块使用不同的访问和错误日志文件。
- 您可以将域文档根目录设置为所需的任何位置。 webroot最常见的位置包括:
- /home/<user_name>/
- /var/www/<site_name>
- /var/www/html/<site_name>
- /opt/<site_name>
查找nginx配置文件的位置
nginx的配置放在nginx.conf文件中,一般我们可以使用以下命令查看服务器中存在的nginx.conf文件。
locate nginx.conf /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.conf.default
...
如果服务器中存在多个nginx.conf文件,我们并不知道实际上调用的是哪个配置文件,因此我们必须找到实际调用的配置文件才能进行修改。先找出nginx可执行文件的路径
ps -ef | grep nginx
返回
[root@localhost /data/nginx/logs 09:47:00&&23]#ps -ef | grep nginx root 1734 1 0 Oct28 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
那么/usr/local/nginx/conf/nginx.conf就是配置文件了。