linux nginx命令
./nginx -v 查看nginx版本
./nginx 启动nginx
./nginx -s stop 停止nginx
ps -ef | grep nginx 查看nginx进程
./nginx -s reload 重新加载nginx
nginx的配置文件由三部分组成
第一部分 全局块
从配置文件到events之间的内容是全局块 主要是影响nginx服务整体性能的配置指令
比如 worker_processes 1; 值越大 处理并发的数量越多
第二部分 events块
events块涉及的指令主要影响nginx服务器与用户的网络连接
比如 worker_connection 1024; 支持的最大连接数
第三部分 http块
nginx配置最频繁的部分
http块也可以包括http全局块 server块
linux开发端口命令
firewall-cmd --add-port:8080/tcp --permanent
firewall-cmd --reload
查看已经开放的端口
firewall-cmd --list-all
反向代理配置 在http 里面的server模块中修改
server{
listen 80;
server_name 192.168.17.129 ; 这个ip为nginx所在所服务的ip 就是外部访问这个ip加端口会自动用设到下面的localtion
location / {
root html;
proxy_pass http://127.0.0.1:8080 映射的路径 主要修改这个里面的
index index.html index.html;
}
}
nginx的负载均衡策略
在http模块里面加上
upstream myserver {
server 192.168.17.129:8080;
server 192.168.17.129:8081;
}
然后再server中加上
server{
listen 80;
server_name 192.168.17.129; 这个是把localhost改为ip地址
location / {
proxy_pass http://myserver; 映射到我们设定的myserver
root html;
index index.html index.html;
}
}
第一种 轮询 负载均衡默认采用的是轮询
第二种是weight 权重 越大访问的机会就越大
upstream myserver {
server 192.168.17.129 weight=10;
server 192.168.17.129 weight=5;
}
第三种是 ip_hash 每个访问地址指定后台唯一的服务器 可以解决session共享问题
upstream myserver {
ip_hash
server 192.168.17.129:8080;
server 192.168.17.129:8081
}
第四种 fair 按照服务器的响应时间分配请求 响应时间短的优先分配
upstream myserver {
server 192.168.17.129:8080;
server 192.168.17.129:8081;
fair;
}
nginx的动静分离
意思就是把动态请求和静态请求分开 一般在项目中都把静态资源放到一个单独的服务器中
还有一种就是把静态资源和动态资源放到一起 通过nginx来分开
先在linux上创建data文件夹 再在data文件夹中创建 www和image文件夹 分别放入不同的图片 或者html文件
server{
listen 80;
server_name 192.168.17.129; 这个是把localhost改为ip地址
location /www/ {
root /data/;
index index.html index.html;
}
location /image/ {
root /data/;
index index.html index.html;
autoindex on; #列出当前文件夹的路径
}
}