本文nginx使用源码安装部署.
安装模块需要在configure后添加参数,如./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module 安装了ssl模块.
如果要添加模块,但不想删除之前nginx数据,可以将nginx源码目录下的objs目录中的nginx文件拷贝到nginx的sbin目录下替代现有主程序,然后killall nginx 再重启即可.
cd ~/lnmp_soft/nginx-1.22.1/
./configure
> --with-stream
#开启4层代理模块
> --with-http_stub_status_module
#开启status状态页面
make #编译
killall nginx
cp objs/nginx /usr/local/nginx/sbin/ #覆盖原文件
/usr/local/nginx/sbin/nginx #开启nginx
1.ssl安全网页模块
源码安装Nginx时必须使用--with-http_ssl_module参数,启用加密模块,对于需要进行SSL加密处理的站点添加ssl相关指令(设置网站需要的私钥和证书)并在conf文件中添加响应的配置。
openssl genrsa > conf/cert.key #生成私钥
openssl req -x509 -key conf/cert.key > conf/cert.pem #生成自签名、X.509 格式证书
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem; #这里是证书文件
ssl_certificate_key cert.key; #这里是私钥文件
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root https; #加密网站根目录
index index.html index.htm;
}
}
2.健康检查页面模块
编译安装时使用--with-http_stub_status_module开启状态页面模块
在conf中添加配置
cat /usr/local/nginx/conf/nginx.conf
… …
location /status {
stub_status on;
#allow IP地址;
#deny all;
}
… …
重启nginx后即可直接访问 IP地址/status:
Active connections:当前活动的连接数量。
Accepts:已经接受客户端的连接总数量。
Handled:已经处理客户端的连接总数量。
Requests:客户端发送的请求数量。
Reading:当前服务器正在读取客户端请求头的数量。
Writing:当前服务器正在写响应信息的数量。
Waiting:当前多少客户端在等待服务器的响应。
PV(Page View):页面浏览量,即网站页面在一定时间内被访问的页面总次数,相同用户刷新相同页面也被计算一次,反映了用户对网站内容的浏览情况,可以通过访问日志得到。
UV(Unique Visitor):独立访客数,统计一定周期内,访问网站的独立用户数量,不重复计算同一用户的多次访问。可以通过访问日志或根据用户的唯一标识去重得到
PV与UV都是衡量业务活跃度的重要指标,尤其网站改版升级后,可以进行对比来判断业务情况
3.连接限制模块
--with-ngx_http_limit_conn_module
limit_rate 无法限制用户开启多个网页同时访问导致流量过大,可以使用连接限制模块修改用户访问连接限制,使一个客户同时打开多个连接也无法突破限制
conf配置:
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
#在内存中创建一个库文件来存储访问者的ip
server {
location /app {
limit_rate 30k;
limit_conn addr 1 ;
#利用ip库查看是否有重复ip,同一ip只允许开一个链接
}