配置nginx.conf (增加21001端口实例操作)
·
创建独立的配置文件来实现增加端口
具体操作步骤:
1. 找到主配置文件 nginx.conf
# 通常位于以下路径之一
/usr/local/nginx/conf/nginx.conf
/etc/nginx/nginx.conf
/usr/local/etc/nginx/nginx.conf
# 查看您的nginx配置文件路径
/usr/local/nginx/sbin/nginx -t
2. 编辑主配置文件
sudo vi /usr/local/nginx/conf/nginx.conf
3. 在 http 块中添加 include 指令
找到 http { … } 块,在里面添加 include 语句:
http {
# 其他现有配置...
include mime.types;
default_type application/octet-stream;
# 日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
# 包含其他配置文件 - 就是这里!
include conf.d/*.conf; # 包含conf.d目录下的所有.conf文件
include sites-enabled/*.conf; # 包含sites-enabled目录下的所有.conf文件
# 可以继续添加其他include
# include vhosts/*.conf;
# 其他配置...
}
4. 创建配置目录
# 创建配置目录
sudo mkdir -p /usr/local/nginx/conf/conf.d
sudo mkdir -p /usr/local/nginx/conf/sites-enabled
# 设置权限(如果需要)
sudo chmod 755 /usr/local/nginx/conf/conf.d
sudo chmod 755 /usr/local/nginx/conf/sites-enabled
5. 创建子配置文件
现在您可以在这些目录中创建独立的配置文件:
# 在 conf.d 目录创建21001端口的配置
sudo vi /usr/local/nginx/conf/conf.d/21001.conf
# 或者在 sites-enabled 目录创建
sudo vi /usr/local/nginx/conf/sites-enabled/21001.conf
6. 完整的配置示例
主配置文件 (/usr/local/nginx/conf/nginx.conf):
user nobody;
worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
# 包含子配置文件
include conf.d/*.conf;
include sites-enabled/*.conf;
# 默认服务器配置(可选)
server {
listen 80;
server_name _;
return 404;
}
}
子配置文件 (/usr/local/nginx/conf/conf.d/21001.conf):
# 21001 端口服务配置
server {
listen 21001;
server_name localhost;
# 字符集设置
charset utf-8;
# 日志配置
access_log /usr/local/nginx/logs/21001_access.log main;
error_log /usr/local/nginx/logs/21001_error.log warn;
# 根路径配置
location / {
root /usr/local/nginx/html/21001;
index index.html index.htm;
# 启用目录列表(可选)
# autoindex on;
}
# 健康检查端点
location /health {
access_log off;
return 200 "healthy\n";
add_header Content-Type text/plain;
}
# 静态文件缓存配置
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 7d;
add_header Cache-Control "public, immutable";
}
# 禁止访问隐藏文件
location ~ /\. {
deny all;
}
# 错误页面配置
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
}
7. 验证配置
# 检查配置文件语法
sudo /usr/local/nginx/sbin/nginx -t
# 如果语法正确,重新加载配置
sudo /usr/local/nginx/sbin/nginx -s reload
# 或者重启nginx
sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx
include 指令的优势:
1.模块化管理:每个服务/端口一个配置文件,便于维护
2.易于备份:可以单独备份某个服务的配置
3.快速启用/禁用:重命名或移动文件即可禁用服务
4.团队协作:不同的人可以负责不同的配置文件
其他常用的 include 位置:
http {
# 包含通用配置
include conf.d/common/*.conf;
# 包含虚拟主机配置
include vhosts/*.conf;
# 包含SSL配置
include ssl/*.conf;
# 包含上游服务器配置
include upstream/*.conf;
# 包含位置块配置
include locations/*.conf;
}
这样配置后,您只需要在相应的目录中创建 .conf 文件,nginx 就会自动加载这些配置。
8. 测试端口访问
# 检查端口是否监听
netstat -tlnp | grep 21001
# 或
ss -tlnp | grep 21001
# 测试访问
curl http://localhost:21001
curl -I http://localhost:21001
# 或者使用浏览器访问
# http://your-server-ip:21001
9. 防火墙配置
# 如果使用firewalld
sudo firewall-cmd --permanent --add-port=21001/tcp
sudo firewall-cmd --reload
# 如果使用iptables
sudo iptables -A INPUT -p tcp --dport 21001 -j ACCEPT
sudo service iptables save
# 检查防火墙状态
sudo firewall-cmd --list-ports
10. 故障排除
# 查看错误日志
tail -f /usr/local/nginx/logs/error.log
tail -f /usr/local/nginx/logs/21001_error.log
# 检查进程
ps aux | grep nginx
# 检查端口占用
lsof -i :21001
更多推荐


所有评论(0)