1.设置Linux的防火墙
查看防火墙开放端口
firewall-cmd --list-all
设置防护墙开放端口
sudo firewall-cmd --add-port=80/tcp -permanent
2.NGINX基本操作
可执行文件路径/usr/local/nginx/sbin
1.查看版本
./nginx -v
2.启动
./nginx
3.关闭
./nginx -s stop
4.重新加载
./nginx -s reload
3.NGINX的配置文件路径
/usr/local/nginx/conf/nginx.conf
4.配置文件内容
1.全局块
从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令。
例:
#user nobody;
worker processes 1; //设置最大并发数
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
2.events块
events{
worker connections 1024; //设置每个worker process最大连接数
}
3.http块
http{
// http包含文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求上限等。
server{
// http中可以包含多个server块,而每个server块就相当于一个虚拟主机,
// 而每个server块也分为全局server块,以及一个或多个location块
listen 80; //监听的端口
server_name localhost; //Linux主机名称(ip)
#charset koi8-r;
#access_log logs/host.access.log main;
location / { // 路径跳转
root html;
index index.html.htm;
}
#error_page 404 /404.html;
# redire
}
}
5.反向代理实例
server {
listen 9001; //nginx监听9001端口
server_name 192.168.17.129; //Linux的ip
location ~ /edu/ { //http://192.168.17.129:9001/edu/会默认打到这个服务器
proxy_pass http://127.0.0.1:8080; //被反向代理的服务器ipport
}
location ~ /vod/ { //http://192.168.17.129:9001/vod/会默认打到这个服务器
proxy_pass http://127.0.0.1:8081; //被反向代理的服务器ipport
}
}
6.负载均衡
upstream myserver { //配置负载均衡的服务器
server 192.168.17.129:8080;
server 192.168.17.129:8081;
}
server {
listen 80;
server_name 192.168.17.129;
location / {
proxy_pass http://myserver; // 流量会打到上面配置的server上
root html;
index index.html index.htm;
}
}
负载均衡的方法:
1.轮询(默认)
每个请求按照时间顺序打到配置的服务器上
2.weight
weight代表权重,默认是1,权重越高被分配到的几率就越高
upstream server_pool {
server 192.168.5.21:80 weight=10;
server 192.168.5.22:80 weight=5;
}
3.ip_hash
对用户ip进行hash,然后打到固定的服务器上,此ip永远打到相同的服务器
upstream server_pool {
ip_hash;
server 192.168.5.21:80;
server 192.168.5.21:80;
}
4.fair(第三方)
按照后端服务器的响应时间来分配请求,响应时间短的优先分配
upstream server_pool {
server 192.168.5.21:80;
server 192.168.5.21:80;
fair;
}
7.动静分离
动静分离就是将请求进行分流,请求静态资源的流量打到一台服务器,请求动态资源的打到另外一台服务器。
server {
listen 80;
server_name 192.168.17.129;
location /www/ {
root /data/; //root就是如果符合location后面的www就在此基础上在加上/data
//例:www/123.html -> www/data/123.html
index index.html index.htm; //先去找index.html如果有就反会,如果没有就再找index.htm,如果有就重定向到index.htm,相当于用户重新发起请求到index.htm,所以要注意不能让其重定向到其他location。
}
location /image/ {
root /data/;
autoindex on; //开启之后会将该资源下的目录返还回去
//类似例子:清华镜像https://mirror.tuna.tsinghua.edu.cn/zabbix/的简化版
}
}