插件窝 干货文章 nginx监听80端口

nginx监听80端口

端口 Nginx 配置 server 806    来源:    2025-04-03

Nginx 监听80端口配置指南

80端口是HTTP服务的默认端口,配置Nginx监听80端口是搭建Web服务器的常见需求。以下是详细配置说明:

基本配置

  1. 编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default
server {
    listen 80;  # 监听80端口
    server_name example.com www.example.com;  # 你的域名或IP地址

    root /var/www/html;  # 网站根目录
    index index.html index.htm;  # 默认索引文件

    location / {
        try_files $uri $uri/ =404;
    }
}

常见配置场景

1. 监听所有IP的80端口

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    # 其他配置...
}

2. 监听特定IP的80端口

server {
    listen 192.168.1.100:80;
    # 其他配置...
}

3. 多个server块监听不同域名

server {
    listen 80;
    server_name site1.example.com;
    # site1的配置...
}

server {
    listen 80;
    server_name site2.example.com;
    # site2的配置...
}

权限和防火墙设置

  1. 确保Nginx有权限绑定80端口(通常需要root权限启动或使用setcap)

    sudo setcap 'cap_net_bind_service=+ep' /usr/sbin/nginx
    
  2. 开放防火墙80端口

    sudo ufw allow 80/tcp
    # 或
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    

常见问题解决

1. 端口被占用

sudo netstat -tulnp | grep :80
# 如果其他程序占用了80端口,停止该服务或修改其配置

2. 权限不足

  • 确保Nginx以root用户启动(会降权到nginx用户)
  • 或者使用setcap赋予权限(如上所述)

3. SELinux阻止

# 临时解决方案
sudo setenforce 0
# 永久解决方案
sudo setsebool -P httpd_can_network_connect 1

测试和重载配置

  1. 测试配置语法
sudo nginx -t
  1. 重载配置
sudo systemctl reload nginx
# 或
sudo service nginx reload

配置完成后,你的Nginx服务器就会在80端口上响应HTTP请求了。