插件窝 干货文章 Linux系统如何安装nginx

Linux系统如何安装nginx

Nginx 安装 sudo 包管 777    来源:    2025-04-26

在Linux系统中安装Nginx可以通过包管理器或源码编译两种方式。以下是详细步骤(以常见发行版为例):


一、通过包管理器安装(推荐)

1. Debian/Ubuntu 系统

# 更新软件包列表
sudo apt update

# 安装Nginx
sudo apt install nginx

# 启动Nginx
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

2. CentOS/RHEL 系统

# 添加EPEL仓库(CentOS/RHEL 7/8)
sudo yum install epel-release

# 安装Nginx
sudo yum install nginx

# 启动并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx

3. Fedora 系统

sudo dnf install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

二、通过源码编译安装(自定义配置)

1. 下载源码包

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

2. 安装依赖

# Debian/Ubuntu
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

# CentOS/RHEL
sudo yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

3. 编译安装

./configure --prefix=/usr/local/nginx \  # 安装路径
            --with-http_ssl_module \     # 启用SSL模块
            --with-http_v2_module        # 启用HTTP/2

make && sudo make install

4. 启动Nginx

# 进入安装目录
cd /usr/local/nginx/sbin

# 启动
sudo ./nginx

# 验证
curl http://localhost

三、验证安装

  1. 检查服务状态:

    systemctl status nginx  # 包管理器安装
    ps aux | grep nginx     # 源码安装检查进程
    
  2. 访问默认页面:

    • 浏览器访问 http://<服务器IP>
    • 或命令行验证: bash curl http://localhost

四、防火墙配置(如需)

# Ubuntu/Debian (ufw)
sudo ufw allow 'Nginx Full'  # 或单独放行80/443端口

# CentOS/RHEL (firewalld)
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

五、关键文件路径

  • 配置文件目录/etc/nginx/(包安装)或 /usr/local/nginx/conf/(源码安装)
  • 默认网站目录/usr/share/nginx/html//var/www/html
  • 日志文件/var/log/nginx/

常见问题

  1. 端口冲突:若80端口被占用,修改 /etc/nginx/nginx.conf 中的 listen 指令。
  2. 权限问题:确保Nginx用户(通常为 www-datanginx)对网站目录有读取权限。
  3. 模块缺失:通过 nginx -V 查看已编译模块,需重新编译添加缺失模块。

通过上述步骤,您可以在主流Linux发行版上完成Nginx的安装。包管理器适合快速部署,源码编译适合需要定制功能的场景。