当前位置: 首页 > ai >正文

Nginx 安装与 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服务器

Nginx 安装与 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服务器

一、Nginx安装

1. 安装依赖项

sudo yum groupinstall "Development Tools" -y # 非必须
sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

2.下载Nginx

wget http://nginx.org/download/nginx-1.28.0.tar.gz

3.解压下载的文件

tar -zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0

4. 配置安装选项

在Nginx源代码目录下运行./configure脚本来准备编译环境。可以使用默认配置或添加自定义选项。

./configure,加上 --with-http_ssl_module

./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre# 参数项说明---------------------------------------------------------------------------------------------------------------------------
1. --prefix=/usr/local/nginx
作用:指定 Nginx 的安装目录。
说明:编译安装完成后,Nginx 的可执行文件、配置文件、日志等都会放在这个目录下。
默认值:如果不指定,默认是 /usr/local/nginx。
✅ 建议保留:除非你有特殊需求,否则建议使用这个路径。2. --with-http_ssl_module
作用:启用 HTTPS/SSL 支持。
说明:只有启用了这个模块,Nginx 才能支持 listen 443 ssl;,才能配置 HTTPS 网站。
依赖:需要系统中安装了 OpenSSL 库。
✅ 重要模块:如果你要配置 HTTPS(如使用 Let's Encrypt 或自签名证书),必须启用。3. --with-http_realip_module
作用:允许 Nginx 获取客户端的真实 IP 地址。
适用场景:当 Nginx 前面有 CDN、反向代理或负载均衡器时,客户端的真实 IP 会被代理服务器“隐藏”,这个模块可以让你通过设置 set_real_ip_from 和 real_ip_header 来还原真实 IP。
✅ 推荐启用:尤其在做访问控制、日志记录、限流等操作时非常有用。4. --with-http_stub_status_module
作用:启用 Nginx 的状态监控模块。
用途:可以让你访问一个类似 /nginx_status 的页面,查看当前 Nginx 的连接数、请求数等运行状态。
✅ 推荐启用:用于监控 Nginx 性能,对运维很有帮助。5. --with-http_gzip_static_module
作用:支持预压缩文件的静态压缩传输。
说明:比如你有一个 index.html.gz 文件,客户端支持 gzip 时,Nginx 可以直接发送这个 .gz 文件,而不需要实时压缩。
✅ 推荐启用:提高性能,减少 CPU 开销。6. --with-pcre
作用:启用 PCRE(Perl Compatible Regular Expressions)库支持。
用途:Nginx 的 location、rewrite 等指令依赖正则表达式,PCRE 是实现这些功能的基础。
✅ 必须启用:除非你完全不用正则匹配,否则这个参数必须加上。

5.编译并安装

运行make命令编译源代码,然后使用make install命令安装Nginx。

make
make install

6. Nginx启动停止脚本

/usr/local/nginx

#!/bin/bash
# nginx.sh - 控制 Nginx 启动、停止、重启、查看状态
# 适用于手动安装的 Nginx(路径:/usr/local/nginx)### 配置项 ###
NGINX_PATH="/usr/local/nginx"
NGINX_EXEC="$NGINX_PATH/sbin/nginx"
NGINX_CONF="$NGINX_PATH/conf/nginx.conf"
NGINX_PID="$NGINX_PATH/logs/nginx.pid"### 检查是否为 root 用户运行 ###
if [ "$(id -u)" != "0" ]; thenecho "请使用 root 权限运行此脚本(sudo)"exit 1
fi### 启动 Nginx ###
start() {echo "正在启动 Nginx..."### 检查配置文件 ###$NGINX_EXEC -t > /dev/nu
http://www.xdnf.cn/news/16193.html

相关文章:

  • 无印 v1.6 视频解析去水印工具,支持多个平台
  • C++ : list的模拟
  • Qwen-MT:翻得快,译得巧
  • HAProxy 原理及配置
  • Nacos-服务注册,服务发现(一)
  • VS2022专业版安装扩展
  • SpringBoot(黑马)
  • Hive【安装 01】hive-3.1.2版本安装配置(含 mysql-connector-java-5.1.47.jar 网盘资源)
  • 使用 FFmpeg 实现 RTP 音频传输与播放
  • 没有 Mac,如何上架 iOS App?多项目复用与流程标准化实战分享
  • CSS3新特性深度解析:Position Sticky粘性定位完整指南
  • 基于单片机的楼宇门禁系统的设计与实现
  • 三种深度学习模型(GRU、CNN-GRU、贝叶斯优化的CNN-GRU/BO-CNN-GRU)对北半球光伏数据进行时间序列预测
  • Android Room 持久化库:简化数据库操作
  • Unity编辑器拓展 IMGUI与部分Utility知识总结(代码+思维导图)
  • golang怎么实现每秒100万个请求(QPS),相关系统架构设计详解
  • 基于STM32汽车自动智能雨刷检测雨滴系统设计
  • 在 Azure 中配置 SMS 与 OTP
  • 前端面试问题
  • 【GoLang#2】:基础入门(工具链 | 基础语法 | 内置函数)
  • day 35打卡
  • IMU的精度对无人机姿态控制意味着什么?
  • 避开算力坑!无人机桥梁检测场景下YOLO模型选型指南
  • SQL基础⑭ | 变量、流程控制与游标篇
  • 【Linux】进程切换与优先级
  • Qt 多媒体开发:音频与视频处理
  • 从“人工眼”到‘智能眼’:EZ-Vision视觉系统如何重构生产线视觉检测精度?
  • C++与Hive、Spark、libhdfs、ACID交互技巧
  • 无需 Root 关闭联网验证 随意修改手机名称(适用于OPPO、一加、真我)
  • 【矩阵专题】Leetcode48.旋转图像(Hot100)