liunx配置 Nginx 从粘贴 到 运行

1、 下载
下载地址

Mainline version # 抢先版
Stable version # 稳定版
Legacy versions # 历史版本

日志 1Liunx 版本win版本
CHANGES-1.28nginx-1.28.0 pgpnginx/Windows-1.28.0 pgp

2、 安装编译环境

sudo apt update
sudo apt install -y build-essential libpcre3-dev zlib1g-dev libssl-dev

3.root 新建一个文件夹 ng cd进入目录copy paste并解压

mkdir /root/nginx           # 新建文件夹
cd /root/nginx              # 进入文件夹
tar -zxvf nginx-1.24.0.tar.gz  # 解压源码包
cd nginx-1.24.0                # 进入源码目录

4、配置编译选项
指定安装路径为 /root/nginx/nginx,并启用常用模块(如 HTTPS 支持):

./configure --prefix=/root/nginx/nginx \
            --with-http_ssl_module \
            --with-http_v2_module \
            --with-http_realip_module

关键参数说明:

  • –prefix=/root/nginx/nginx:指定安装目录。
  • –with-http_ssl_module:启用 HTTPS 支持。
  • –with-http_v2_module:启用 HTTP/2 支持。

5、 编译并安装

cd /root/nginx/nginx-1.24.0/ # 进入源码目录
make          # 编译源码
make install  # 安装到指定目录

6、验证安装

/root/nginx/nginx/sbin/nginx -v  # 查看版本
/root/nginx/nginx/sbin/nginx -t  # 测试配置文件

7、 添加到系统环境变量(可选)

echo 'export PATH=$PATH:/root/nginx/nginx/sbin' >> ~/.bashrc
source ~/.bashrc

8、检查是否操作成功

/root/nginx/nginx/sbin/nginx -v  # 结果 是 v12.4 版本就对
/root/nginx/nginx/sbin/nginx -t  # 检查 nginx.conf 配置是否正确

9、定义启动命令

# /root/nginx/nginx/sbin/nginx   这段是自己的安装位置
# /usr/bin/nginx  这是创建软链接到 /usr/bin
sudo ln -s /root/nginx/nginx/sbin/nginx  /usr/bin/nginx


which nginx   # 结果是  /usr/bin/nginx   就对
nginx -v     # 应显示版本号 1.24.0  就对

10、 现在可以直接运行以下命令使用nginx

# 操作命令

sudo nginx             # 启动 Nginx	
sudo nginx -s stop     # 停止 Nginx	 
sudo nginx -s quit     # 优雅停止(处理完当前请求后停止)
sudo nginx -s reload   # 重新加载配置(不重启服务)
sudo nginx -s reopen   # 重新打开日志文件
sudo nginx -t          # 测试配置文件语法	

11、配置nginx

# 一个基础的 Nginx 配置,根据需求改成自己项目的。

# 全局配置段
user  nginx;                     # 运行nginx的用户
worker_processes  auto;          # 自动根据CPU核心数设置工作进程数
error_log  /var/log/nginx/error.log warn;  # 错误日志路径和级别
pid        /var/run/nginx.pid;   # 进程ID文件位置

# 事件模块配置
events {
    worker_connections  1024;     # 每个工作进程的最大连接数
    use epoll;                   # 使用epoll高效模式(Linux)
    multi_accept on;             # 同时接受多个新连接
}

# HTTP模块配置
http {
    # 基础设置
    include       /etc/nginx/mime.types;  # MIME类型映射文件
    default_type  application/octet-stream; # 默认MIME类型
    
    # 日志格式
    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;          # 仅在sendfile为on时有效,优化数据包发送
    tcp_nodelay    on;          # 禁用Nagle算法,提高实时性
    keepalive_timeout  65;      # 保持连接的超时时间
    types_hash_max_size 2048;   # types哈希表大小
    
    # Gzip压缩配置
    gzip  on;                   # 启用gzip压缩
    gzip_min_length 1k;         # 最小压缩文件大小
    gzip_comp_level 2;          # 压缩级别(1-9)
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
    # 包含其他配置文件
    include /etc/nginx/conf.d/*.conf;  # 包含其他配置文件
    
    # 示例server配置(也可以放在单独的conf.d文件中)
    server {
        listen       80;        # 监听端口
        server_name  example.com www.example.com; # 域名
        
        # 静态文件服务配置
        # 如果webpack/vite中配置了 publicPath , location /`这里的路径地址要与 publicPath的值相同`
        location / {
            alias   /usr/share/nginx/html; # 网站根目录
            index  index.html index.htm;  # 默认索引文件
            try_files $uri $uri/ /index.html; # 尝试查找文件规则
        }
		# 后台接口代理
		location /api/ {
		    proxy_pass http://localhost/api/;
		    proxy_set_header Host $host;
		    proxy_set_header X-Real-IP $remote_addr;
		    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		    
		    # 超时设置
		    proxy_connect_timeout 60s;
		    proxy_read_timeout 60s;
		}
        
        # 错误页面配置
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
        
        # 禁止访问隐藏文件
        location ~ /\. {
            deny all;
        }
    }
    
    # 可以添加更多server块来配置虚拟主机
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值