插件窝 干货文章 Nginx安装实例分析

Nginx安装实例分析

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

Nginx安装实例分析

一、Nginx简介

Nginx是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它具有占用内存少、并发能力强、稳定性高等特点,被广泛用于负载均衡、反向代理和静态资源服务等场景。

二、安装前准备

1. 系统要求

  • Linux/Unix系统(推荐)或Windows系统
  • GCC编译器(用于源码安装)
  • PCRE库(支持正则表达式)
  • zlib库(支持gzip压缩)
  • OpenSSL库(支持HTTPS)

2. 安装依赖

对于基于RPM的系统(CentOS/RHEL):

yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

对于基于Debian的系统(Ubuntu/Debian):

apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

三、Nginx安装方法

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

CentOS/RHEL:

# 添加Nginx官方仓库
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

# 安装Nginx
sudo yum install nginx

# 启动Nginx
sudo systemctl start nginx

Ubuntu/Debian:

# 添加Nginx官方仓库
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update

# 安装Nginx
sudo apt-get install nginx

# 启动Nginx
sudo systemctl start nginx

2. 源码编译安装(适合定制需求)

# 下载最新稳定版
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1

# 配置编译选项
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre

# 编译并安装
make && make install

# 启动Nginx
/usr/local/nginx/sbin/nginx

四、安装后配置

1. 基本配置检查

# 检查配置文件语法
nginx -t

# 重新加载配置(不重启服务)
nginx -s reload

2. 设置开机启动

Systemd系统:

# 创建systemd服务文件
cat > /etc/systemd/system/nginx.service <<EOF
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT \$MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

# 启用并启动服务
systemctl enable nginx
systemctl start nginx

五、常见问题解决

1. 端口冲突问题

如果80端口被占用(如Apache):

# 查找占用80端口的进程
netstat -tulnp | grep :80

# 停止占用进程或修改Nginx监听端口
vi /etc/nginx/nginx.conf
# 修改listen指令
listen 8080;

2. 403 Forbidden错误

可能原因: - 目录权限不足 - 缺少index文件

解决方案:

# 修改目录权限
chown -R nginx:nginx /usr/share/nginx/html
chmod -R 755 /usr/share/nginx/html

# 确保存在index文件
touch /usr/share/nginx/html/index.html

3. 性能调优建议

修改/etc/nginx/nginx.conf中的工作进程设置:

worker_processes auto; # 自动设置为CPU核心数
events {
    worker_connections 1024; # 每个工作进程的最大连接数
    multi_accept on; # 同时接受多个新连接
}

六、安全加固

  1. 隐藏Nginx版本信息:
server_tokens off;
  1. 限制HTTP方法:
location / {
    limit_except GET POST {
        deny all;
    }
}
  1. 配置SSL/TLS(以Let's Encrypt为例):
# 安装certbot
sudo apt-get install certbot python3-certbot-nginx

# 获取证书
sudo certbot --nginx -d example.com -d www.example.com

# 设置自动续期
sudo certbot renew --dry-run

七、卸载Nginx

1. 包管理器安装的卸载

# CentOS/RHEL
sudo yum remove nginx

# Ubuntu/Debian
sudo apt-get purge nginx nginx-common

2. 源码安装的卸载

# 停止Nginx
/usr/local/nginx/sbin/nginx -s stop

# 删除安装目录
rm -rf /usr/local/nginx

通过以上步骤,您应该能够成功安装并配置Nginx服务器。根据实际需求,您可能需要进一步调整配置参数以获得最佳性能。