TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码

Nginx在Linux系统中的安装与配置实战指南

2025-07-21
/
0 评论
/
2 阅读
/
正在检测是否收录...
07/21

Nginx在Linux系统中的安装与配置实战指南

关键词:Nginx安装、Linux配置、Web服务器、反向代理、负载均衡
描述:本文详细讲解在Linux系统下从源码编译到系统服务配置Nginx的全流程,包含常见配置模板与性能调优建议,适合运维人员和开发者阅读。


一、为什么选择Nginx?

在Apache与Nginx的长期竞争中,Nginx凭借其事件驱动架构和低资源消耗逐渐成为Web服务器的主流选择。根据Netcraft最新统计,全球Top 100万网站中已有超过40%采用Nginx,特别是在高并发场景下,Nginx的内存占用仅为Apache的1/5。

二、安装前的准备工作

1. 环境检查

bash

查看系统版本

lsb_release -a

检查现有Web服务

sudo netstat -tulnp | grep ':80'

建议关闭SELinux以避免权限问题:
bash sudo setenforce 0 sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2. 依赖安装

不同Linux发行版需要安装的开发工具:
- Ubuntu/Debian:
bash sudo apt install build-essential libpcre3 libpcre3-dev zlib1g-dev libssl-dev
- CentOS/RHEL:
bash sudo yum install gcc make pcre-devel zlib-devel openssl-devel

三、两种安装方式详解

方案A:源码编译安装(推荐生产环境)

bash
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-httpsslmodule \
--with-httpv2module \
--with-httprealipmodule

make && sudo make install
编译参数说明:
- --with-stream 支持TCP/UDP代理
- --with-threads 启用线程池
- --with-debug 调试模式(仅开发使用)

方案B:包管理器安装(适合快速部署)

bash

Ubuntu

sudo apt install nginx

CentOS

sudo yum install epel-release
sudo yum install nginx

四、核心配置实战

1. 服务管理

创建systemd服务文件/etc/systemd/system/nginx.service:ini
[Unit]
Description=nginx - high performance web server
After=network.target

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

[Install]
WantedBy=multi-user.target
启用服务:bash
sudo systemctl daemon-reload
sudo systemctl enable --now nginx

2. 基础配置优化

修改nginx.conf关键参数:
nginx worker_processes auto; # 自动匹配CPU核心数 worker_connections 1024; # 每个worker连接数 keepalive_timeout 65; gzip on; # 启用压缩

3. 虚拟主机配置

创建/usr/local/nginx/conf/conf.d/mysite.conf:nginx
server {
listen 80;
server_name example.com;

location / {
    root /var/www/html;
    index index.html;
    try_files $uri $uri/ =404;
}

access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

}

五、安全加固措施

  1. 隐藏Nginx版本号
    nginx server_tokens off;

  2. 限制敏感方法
    nginx if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 405; }

  3. 配置WAF
    bash sudo git clone https://github.com/nbs-system/naxsi.git ./configure --add-module=../naxsi/naxsi_src

六、性能调优技巧

  1. 启用缓存:
    nginx proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=mycache:10m inactive=60m;

  2. 开启Brotli压缩:
    bash ./configure --with-http_brotli_module

  3. 内核参数优化:
    bash echo 'net.core.somaxconn = 65535' >> /etc/sysctl.conf sysctl -p

七、常见问题排查

  1. 端口占用
    bash sudo lsof -i :80

  2. 配置文件测试
    bash sudo nginx -t

  3. 日志分析
    bash tail -f /var/log/nginx/error.log

朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/33440/(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. 强强强
    2025-04-07
  2. jesse
    2025-01-16
  3. sowxkkxwwk
    2024-11-20
  4. zpzscldkea
    2024-11-20
  5. bruvoaaiju
    2024-11-14

标签云