Nginx是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
以下是 Nginx 的一些核心功能和特点:
- 高性能的 Web 服务器: Nginx 被设计为处理高并发连接,具有非常高的性能和稳定性。
- 反向代理: 作为反向代理服务器,Nginx 可以将客户端的请求转发到后端的多个服务器上,实现负载均衡。
- 静态内容缓存: Nginx 可以缓存静态内容,减少服务器的负载,加快静态资源的加载速度。
- SSL/TLS 支持: Nginx 支持 SSL/TLS 协议,可以为网站提供安全的加密连接。
- URL 重写: 通过使用 Nginx 的重写模块,可以对请求的 URL 进行重写,实现 URL 重定向或伪静态。
- 负载均衡: Nginx 支持多种负载均衡策略,如轮询、最少连接、IP 哈希等。
- 模块化设计: Nginx 的模块化设计允许用户根据需要添加或移除功能模块。
- 缓存代理: Nginx 可以作为缓存代理服务器,缓存来自后端服务器的内容,减少对后端服务器的请求。
- 访问控制: 通过配置文件,可以对访问者进行访问控制,例如限制特定 IP 地址的访问。
- 日志记录: Nginx 提供了详细的访问日志记录功能,可以记录访问者的请求信息。
- 状态监控: Nginx 可以通过状态监控模块提供实时的状态信息,如当前的连接数、请求处理情况等。
- 邮件代理: Nginx 可以作为 IMAP/POP3/SMTP 代理服务器,处理邮件的接收和发送。
- WebSockets 支持: Nginx 支持 WebSockets 协议,可以用于实现实时通信。
- 配置灵活性: Nginx 的配置文件结构清晰,易于理解和修改,支持细粒度的配置。
- 跨平台: Nginx 可以在多种操作系统上运行,包括 Linux、BSD、macOS 和 Windows。
- 社区和商业支持: 拥有活跃的社区和商业支持,提供持续的更新和安全补丁。
Nginx 的灵活性和高性能使其成为现代 Web 应用和基础设施中广泛使用的服务器软件之一。
操作系统:CentOS 7.*
- 更新系统包:
sudo yum update
- 安装依赖: Nginx 需要编译工具和一些库
sudo yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
- 下载 Nginx: 访问 Nginx 官网下载 Nginx 1.26.1 源码包
wget http://nginx.org/download/nginx-1.26.1.tar.gz
- 解压源码包
cd /opttar-zxvf nginx-1.26.1.tar.gzcd nginx-1.26.1
- 配置 Nginx 使用 ./configure 脚本来配置 Nginx 编译选项
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module
参数说明:
- --prefix=/usr/local/nginx 指定了 Nginx 安装的路径。
- --with-http_ssl_module 启用 SSL 模块。
- --with-http_stub_status_module 启用状态监控模块。
- --with-http_gzip_static_module 启用静态文件的 Gzip 压缩。
- 编译 Nginx
make
- 安装 Nginx 将编译好的 Nginx 安装到指定的目录
sudo make install
- 配置 Nginx 服务 创建一个 systemd 服务文件来管理 Nginx
sudovi /etc/systemd/system/nginx.service
写入以下内容:
[Unit]Description=The NGINX HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecStop=/usr/local/nginx/sbin/nginx -s quit
ExecReload=/usr/local/nginx/sbin/nginx -s reload
PrivateTmp=true
[Install]WantedBy=multi-user.target
- 启动 Nginx 服务 启动 Nginx 服务,并设置开机启动
sudo systemctl start nginx
sudo systemctl enable nginx
- 检查 Nginx 状态 检查 Nginx 服务是否成功启动
sudo systemctl status nginx
- 访问 Nginx测试页 在浏览器中访问 http://your_server_ip,能看到 Nginx 的欢迎页面了,至此,nginx已正常运行了
- 根据业务需求来修改 Nginx 配置文件 通过编辑 /usr/local/nginx/conf/nginx.conf 文件,根据需要配置服务器、日志路径、虚拟主机等。
- 重启 Nginx 服务 保存nginx.conf配置文件更改后,重启 Nginx 服务以应用更改
sudo systemctl restart nginx
- 添加防火墙规则(可选) 如果开启了firewalld防火墙,则需要添加规则允许外部访问
# 方式1:通过服务名称(http服务默认端口号:80)添加sudo firewall-cmd --permanent--zone=public --add-service=http# 方式2:通过端口号添加sudo firewall-cmd --permanent--zone=public --add-port=80/tcp # 立即应用规则,使其生效sudo firewall-cmd --reload
本文转载自: https://blog.csdn.net/sleepIII/article/details/140033064
版权归原作者 小米bb 所有, 如有侵权,请联系我们删除。
版权归原作者 小米bb 所有, 如有侵权,请联系我们删除。