nginx
Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验
linux 查看端口号
查看开放的端口号
firewall-cmd --list-all
设置开放的端口号
firewall-cmd --add-service=http –permanent
firewall-cmd --add-port=80/tcp --permanent
重启防火墙
firewall-cmd –reload
nginx 配置文件组成
(1 )全局块:配置服务器整体运行的配置指令
worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约
(2 )events 块 :影响 Nginx 服务器与用户的网络连接
比如 worker_connections 1024; 支持的最大连接数为 1024
(3 )http 块
还包含两部分:
http 全局块
server 块
反向代理
# 例 1
server {
listen 80;
# 要访问的服务器地址
server_name XXXXXXXXX;
location / {
root html;
# 实际访问路径
proxy_pass http://localhost:8991/demo;
index index.html index.htm;
}
}
# 例 2
server {
listen 9001;
# 要访问的服务器地址
server_name XXXXXXXXX;
1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配
成功,就停止继续向下搜索并立即处理该请求。
2、~:用于表示 uri 包含正则表达式,并且区分大小写。
3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。
4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字
符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用
location块中的正则 uri 和请求字符串做匹配。
location ~ /name1 {
# 实际访问路径
proxy_pass http://localhost:8991/demo;
}
location ~ /name2 {
# 实际访问路径
proxy_pass http://localhost:8992/demo;
}
}
负载均衡
# 1、默认分发原则为轮询
# 2、weight 权重 权重越大被分配的客户端越多
# upstream load_http {
# server 服务器地址1:9503 weight=20;
# server 服务器地址2:8811 weight=10;
# }
# 3、ip_hash 根据请求ip哈希结果分配 每个ip地址访问固定服务器,可解决session问题
# upstream load_http {
# ip_hash
# server 服务器地址1:9503 weight=20;
# server 服务器地址2:8811 weight=10;
# }
# 4、fair 第三方 根据后端服务器响应时间优化分配
# upstream load_http {
# server 服务器地址1:9503 weight=20;
# server 服务器地址2:8811 weight=10;
# fair
# }
upstream load_http {
server 服务器地址1:9503;
server 服务器地址2:8811;
}
server
{
listen 80;
server_name localhost
location / {
proxy_pass http://load_http;
}
}
静态文件
server {
listen 80; #nginx监听的端口
server_name localhost; #拦截的用户访问路径
# 访问本地绝对路径下的静态
# location中指定的/static/必须是在root指定的/opt/目录中真实存在的。
# 实际访问 /opt/static/index.html
location /static/ {
root /opt/;
index index.html index.htm;
}
#访问路径拼接 upload 访问本地绝对路径下的某图片
# alias指定的目录后面必须要加上"/",即/opt/image/ 实际访问 /opt/image/index.html
# autoindex on 访问/upload 路径会列出 /opt/image 文件夹下所有资源
location /upload/ {
alias /opt/image/;
autoindex on;
}
#访问路径拼接 /pages 访问本地绝绝对路径下的静态html
location /pages/ {
alias /opt/static/;
autoindex on;
}
}
查看进程
ps -ef | grep nginx
杀死进程
kill -9 29297
kill -9 29315
快速停止运行 ./nginx -s stop
检查配置文件是否正确 ./nginx -t
配置文件修改重装载 启动 须进入nginx安装目录下的sbin目录下或配置环境变量
# 热部署
./nginx -s reload
重启出现 nginx: [alert] kill(29297, 1) failed (3: No such process)
查看错误日志 ./nginx 如无错误日志 则直接重启
出现 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 表示端口占用
使用 netstat -ltunp 查看端口占用进程,无关紧要则直接杀死后重启
查找文件安装位置 find name nginx.conf