DukeDuke
主页
文档转换
关于我们
主页
文档转换
关于我们
  • Linux 系统

    • Linux 系统管理
    • Linux 网络管理
    • Linux 文件管理
    • Linux 命令大全
  • Nginx Web 服务器

    • Nginx 安装 与 配置
    • Nginx 负载均衡
    • Nginx SSL证书配置
    • Nginx Keepalived 高可用
  • Docker 容器

    • Docker 简介
    • Docker 安装与配置
    • Docker 命令
    • Docker 部署 Nginx
    • Docker 部署 MySQL
    • Docker 部署 Redis
  • 服务器

    • 塔式服务器
    • 机架式服务器
    • 刀片服务器
  • Git 版本控制
  • Jenkins 持续集成
  • Jmeter 性能测试
  • Let's Encrypt 免费SSL证书

Nginx 安装 与 配置

Nginx 简介

Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本发布于 2004 年 10 月 4 日。

Nginx 的主要特点:

  • 高并发连接:官方测试能够支撑 5 万并发连接
  • 内存消耗少:10 万个非活跃的 HTTP keep-alive 连接仅消耗 2.5MB 内存
  • 高可靠性:主从热备
  • 支持热部署:不停止服务的情况下升级
  • 支持多种协议:HTTP、HTTPS、SMTP、POP3、IMAP 等

Nginx 安装(Ubuntu)

方法一:使用 apt 安装

  1. 更新软件包列表:
sudo apt update
  1. 安装 Nginx:
sudo apt install nginx
  1. 验证安装:
nginx -v
  1. 启动 Nginx 服务:
sudo systemctl start nginx
  1. 设置开机自启:
sudo systemctl enable nginx

方法二:从源码编译安装(灵活性高)

  1. 安装依赖包:

安装 gcc

sudo apt install gcc

安装 pcre 库

sudo apt install libpcre3 libpcre3-dev

安装 SSL 库

sudo apt-get install openssl libssl-dev
  1. 下载 Nginx 源码:
wget http://nginx.org/download/nginx-1.26.1.tar.gz
tar -zxvf nginx-1.26.1.tar.gz
cd nginx-1.26.1
  1. 配置编译选项:

--prefix 可更改编译安装地址 编译并指定安装位置,(安装目录不能和编译目录为同一文件夹)

./configure --prefix=/usr/local/nginx \
            --with-http_ssl_module \
            --with-http_v2_module \
            --with-http_stub_status_module
  1. 编译和安装:

进入编译安装地址

make
sudo make install

Nginx 配置

基本配置结构

Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf,主要包含以下部分:

  1. 全局配置块:
user www-data;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
  1. events 块:
events {
    worker_connections 1024;
    multi_accept on;
}
  1. http 块:
http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    # 日志格式设置
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    # 基本设置
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;

    # 包含其他配置文件
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

常用配置示例

  1. 静态网站配置:
server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}
  1. 反向代理配置:
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

常用命令

  1. 启动 Nginx:
sudo systemctl start nginx
  1. 停止 Nginx:
sudo systemctl stop nginx
  1. 重启 Nginx:
sudo systemctl restart nginx
  1. 重新加载配置:
sudo nginx -s reload
  1. 检查配置文件语法:
sudo nginx -t

安全建议

  1. 及时更新 Nginx 版本
  2. 配置 SSL/TLS 证书
  3. 使用防火墙限制访问
  4. 禁用不必要的模块
  5. 配置适当的访问控制
  6. 定期检查日志文件
最近更新:: 2026/4/17 13:21
Contributors: Duke
Next
Nginx 负载均衡