插件窝 干货文章 Linux下如何实现Nginx安装、启动、重启和停止

Linux下如何实现Nginx安装、启动、重启和停止

Nginx bash sudo 配置    来源:    2025-04-23

Linux下Nginx的安装与管理指南

一、Nginx安装

1. 使用包管理器安装(推荐)

Ubuntu/Debian系统:

sudo apt update
sudo apt install nginx

CentOS/RHEL系统:

sudo yum install epel-release  # 先安装EPEL仓库
sudo yum install nginx

Fedora系统:

sudo dnf install nginx

2. 从源码编译安装(高级用户)

# 安装依赖
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

# 下载源码
wget http://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

二、Nginx服务管理

1. 使用systemd管理(主流Linux发行版)

启动Nginx:

sudo systemctl start nginx

停止Nginx:

sudo systemctl stop nginx

重启Nginx(平滑重启,不会断开现有连接):

sudo systemctl reload nginx

强制重启Nginx(会断开现有连接):

sudo systemctl restart nginx

查看Nginx状态:

sudo systemctl status nginx

设置开机启动:

sudo systemctl enable nginx

2. 使用传统服务命令(旧版系统)

启动Nginx:

sudo service nginx start

停止Nginx:

sudo service nginx stop

重启Nginx:

sudo service nginx restart

重载配置:

sudo service nginx reload

3. 直接使用Nginx二进制命令(源码安装时)

启动Nginx:

/usr/local/nginx/sbin/nginx

停止Nginx:

/usr/local/nginx/sbin/nginx -s stop

平滑重启Nginx:

/usr/local/nginx/sbin/nginx -s reload

重新打开日志文件:

/usr/local/nginx/sbin/nginx -s reopen

三、验证Nginx运行

  1. 检查服务状态:
systemctl status nginx
  1. 检查端口监听:
ss -tulnp | grep nginx
# 或
netstat -tulnp | grep nginx
  1. 访问测试页面: 在浏览器中访问 http://服务器IP,应该能看到Nginx欢迎页面。

四、常见问题解决

  1. 端口冲突:

    • 检查80端口是否被占用:sudo lsof -i :80
    • 修改Nginx监听端口:编辑 /etc/nginx/nginx.conf
  2. 权限问题:

    • 确保Nginx用户有访问相关文件的权限
    • 检查错误日志:tail -f /var/log/nginx/error.log
  3. 配置测试: 修改配置后,先测试配置是否正确:

    sudo nginx -t
    
  4. 防火墙设置:

    sudo ufw allow 'Nginx Full'  # Ubuntu
    sudo firewall-cmd --permanent --add-service=http --add-service=https  # CentOS
    sudo firewall-cmd --reload
    

五、补充说明

  1. 配置文件位置:

    • 主配置文件:/etc/nginx/nginx.conf
    • 站点配置:/etc/nginx/conf.d/ 或 /etc/nginx/sites-available/
  2. 日志文件位置:

    • 访问日志:/var/log/nginx/access.log
    • 错误日志:/var/log/nginx/error.log
  3. 默认网站根目录:

    • /usr/share/nginx/html (RHEL/CentOS)
    • /var/www/html (Ubuntu/Debian)