nginx基本使用
1:环境安装启动
windows安装没什么可降解的、解压后进入目录执行nginx.exe就可启动。
Linux安装需要需要准备一些基本软件、可根据网上教材安装即可。(注意和Windows不同的是,安装完nginx后,会在路径/usr/local下生成nginx文件夹,后续在次操作)
启动nginx进入/usr/local/nginx/sbin目录执行nginx
测试启动 ps aux|grep nginx查看进程
常用命令
启动:./nginx 重加载./nginx -s reload 停止 ./nginx -s stop
2:配置文件讲解(/usr/local/nginx/conf/nginx.conf)
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
第一部分:全局块
worker_processes 1;
这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是 会受到硬件、软件等设备的制约。
第二部分:events块
events {
worker_connections 1024;
}
events 块涉及的指令**主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否 允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等。
第三部分:http
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
需要注意的是:http 块也可以包括 http全局块、server 块。
- http全局块
http全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。 - server 块
这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了 节省互联网服务器硬件成本。
每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。
而每个 server 块也分为全局 server 块,以及可以同时包含多个 locaton 块。
- 全局 server 块
最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或IP配置。 - location 块
一个 server 块可以配置多个 location 块。
这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称 (也可以是IP 别名)之外的字符串(例如 前面的 /uri-string)进行匹配,对特定的请求进行处理。 地址定向、数据缓 存和应答控制等功能,还有许多第三方模块的配置也在这里进行。
3:实际使用
3.1 代理静态文件
3.2 代理服务器
3.3 负载均衡
负载策略
1:轮询(默认)2:weight 3:ip_hash 4:fair
Linux安装步骤
下载安装包http://nginx.org/en/download.html
解压
tar -zxvf **.tar.gz
进入nginx目录执行
./configure --with-stream
make && make install
启动nginx(默认路径/usr/local/nginx)
cd /usr/local/nginx/sbin/nginx
./nginx
./nginx -s reload
./nginx -s stop
注册systemctl服务
#进入配置文件的目录 cd /etc/systemd/system #修改nginx的服务配置 vim nginx.service #按i进入修改,修改的文本内容如下 [Unit] //说明 Description=nginx //服务名 After=network.target //服务类别 [Service] //参数配置 Type=forking //ng后台运行的类型 ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf //启动命令,用自己的路径 ExecReload=/usr/local/nginx/sbin/nginx -s reload //重启命令,用自己的路径 ExecStop=/usr/local/nginx/sbin/nginx -s quit //停止命令,用自己的路径 PrivateTmp=true //启用私有化临时目录,保证安全性,避免和其他服务冲突 [Install] WantedBy=multi-user.target #修改完毕后esc退出编辑,输入:wq保存并退出 #然后重启systemctl systemctl daemon-reload #然后就可以使用systemctl启动nginx了 #启动nginx服务 systemctl start nginx.service #停止nginx服务 systemctl stop nginx.service #重启nginx服务 systemctl restart nginx.service #重新加载nginx配置(不停止nginx服务加载新修改的配置) systemctl reload nginx.service
#开机启动
systemctl enable nginx.service
20230615正反向代理详解
这篇博文讲述不错 可以参考