本文共 2882 字,大约阅读时间需要 9 分钟。
Nginx 是一个高性能且功能强大的 Web 和反向代理服务器,因其高效处理大并发连接而广泛应用于生产环境。它支持 epoll 和 kqueue 模型,可以在 Unix 突出版以及 Windows 上运行。作为开发者和站长,选择 Nginx 作为反向代理或 HTTP 服务器是明智的决策。下文将详细介绍 Nginx 的安装、配置以及常用功能。
安装 Nginx 的过程相对简单,但需仔细配置以满足实际需求。以下是常用的安装步骤:
解压源码:
tar -xvf nginx-1.4.2.tar.gz cd nginx-1.4.2
配置参数:
根据实际需要设置 Nginx 的运行 prefix 和模块:./configure --prefix=/usr/nginx --with-http-stub-status-module --with-debug --with-http-realip-module --with-https ssl
(注:替换为实际服务器地址和需求模块)
编译并安装:
make install
安装完成后,创建相关对 logarithm 和 HTML 文件夹:
test -d /usr/nginx/logs || mkdir -p /usr/nginx/logs test -d /usr/nginx/html || cp -R html /usr/nginx
在实际应用中,Nginx 通常会开启多个 worker 进程,以应对高负载需求。默认情况下建议设置 4 个进程,具体数量可根据服务器资源调整。查看进程数可以使用以下命令:
ps -eaf | grep nginx
上述命令会显示所有 Nginx 进程,包括主进程和 worker 进程。
在实际应用中,Nginx 可作为反向代理将请求转发到后端服务器(如 PHP、Tomcat 等)。以下是一些常见配置示例:
定向所有请求到后端服务器:
location / { proxy_pass http://tomcat:8080/; }
作为静态资源服务器:
location /static/ { root /www/static/; }
Nginx 的 Rewrite 功能非常强大,适用于 URL 重定义和重定向。以下是一些常用的 Rewrite 示例:
简单的重定向:
location = /login { rewrite ^/ http://login.example.com redirect; }
复杂的路径重写:
location ~ /article-preview { rewrite ^/category/(.*) /article.html те Appeal_=$1; }
最佳实践:将常用路径直接定向,避免复杂正则表达式。
last
:上层规则不匹配时,继续处理下一个匹配规则。break
:当前规则匹配后,停止处理。redirect
:返回临时 302 重定向。permanent
:返回永久 301 重定向。防盗链是保护静态资源的一种重要措施。以下是一些常见配置:
禁止外部链接:
location ~* \.(gif|jpg|png|js|css) { valid_referers none blocked start.igrow.cn sta.igrow.cn; if ($invalid_referer) { rewrite ^/ http://$host/logo.png; } }
设置访问 zaexpire 时间:
location ~* \.(js|css|jpg|jpeg|gif|swf) { if (-f $request_filename) { expires 1h; break; } }
以下是一些步骤,帮助你配置 SSL 证书:
生成私钥:
openssl genrsa -des3 -out server.key 2048
创建 CSR 文件并签名:
openssl req -new -key server.key -out server.csr
(输入相关信息,如公司名称、服务器名等)。
签发服务器证书:
使用证书颁发机构的私钥签名 CSR 文件,生成 server.crt。配置 Nginx:
在配置文件中添加 SSL 模块,并绑定证书:listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/server.crt; ssl_private_key /path/to/server.key;
安装完成后,可以通过以下方式启动 Nginx:
.service nginx start
如果需要重启服务,使用:
.service nginx restart
如果你需要为 Nginx 生成新的证书,可以按照以下步骤操作:
首先生成服务器端私钥:
openssl genrsa -des3 -out server.key 2048
(输入 passphrase)。
生成 CSR 文件:
openssl req -new -key server.key -out server.csr
用 CA 的私钥签名 server.csr,生成 server.crt:
openssl ca -in server.csr -out server.crt -keyfile ca.key
注意:如果你要自签名证书,可以使用 openssl req -x509 -nodes -keyout ca.key -out ca.crt
。
Nginx 的静态文件服务是其主要优势之一。以下是常见配置示例:
将用户Web 用户中心页面映射:
location = /userWeb/userCenter/findConsultList.htm { rewrite ^.*$ http://xx.gongsilong.com/xx/userCenter/findConsultList.htm redirect; }
SVN 证书访问:
location ~* /svn/(.*) { rewrite ^.*$ https://192.123.11.12/$1 redirect; }
以上内容提供了 Nginx 的基本安装、配置和使用指南。通过合理配置 Nginx,你可以显著提升网站性能,同时保护服务器资源。
转载地址:http://ljcsz.baihongyu.com/