插件窝 干货文章 CentOS如何快速安装Nginx服务器

CentOS如何快速安装Nginx服务器

Nginx sudo 安装 bash 984    来源:    2025-04-25

在CentOS上快速安装Nginx可以通过以下步骤完成,这里提供两种主流方法(yum安装和源码编译安装):


方法一:通过Yum仓库安装(推荐)

1. 添加Nginx官方仓库

# 安装EPEL仓库(CentOS 7/8)
sudo yum install epel-release -y

# 或者直接添加Nginx官方仓库(推荐)
sudo tee /etc/yum.repos.d/nginx.repo <<-'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF

2. 安装Nginx

sudo yum install nginx -y

3. 启动Nginx并设置开机自启

sudo systemctl start nginx
sudo systemctl enable nginx

4. 验证安装

curl -I 127.0.0.1
# 应看到 "HTTP/1.1 200 OK" 响应

方法二:源码编译安装(自定义功能)

1. 安装编译依赖

sudo yum groupinstall "Development Tools" -y
sudo yum install pcre-devel zlib-devel openssl-devel -y

2. 下载并编译Nginx

wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3

./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module

make && sudo make install

3. 创建系统服务

sudo tee /usr/lib/systemd/system/nginx.service <<-'EOF'
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl start nginx

常见问题解决

  1. 端口冲突

    sudo netstat -tulnp | grep 80
    # 如果被占用,修改Nginx配置:/etc/nginx/conf.d/default.conf
    
  2. SELinux阻止

    sudo setenforce 0  # 临时关闭
    # 或
    sudo semanage port -a -t http_port_t -p tcp 81  # 添加新端口
    
  3. 防火墙放行

    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    

关键文件位置(Yum安装)

  • 主配置文件:/etc/nginx/nginx.conf
  • 默认站点配置:/etc/nginx/conf.d/default.conf
  • 日志文件:/var/log/nginx/access.logerror.log
  • 默认网站根目录:/usr/share/nginx/html

安装完成后,浏览器访问服务器IP即可看到Nginx欢迎页面。如需HTTPS支持,可使用Let's Encrypt免费证书。