安装
找一个适合你口味的版本下载,因为我想在Window下进行安装,所以我选择了一个带window标志的版本~下载下来后是一个压缩包,把它解压到指定的目录
运行
点击nginx.exe运行,默认端口是80,浏览器输入127.0.0.1或localhost加上端口号,即可出现nginx的首页。当然了,当我们的电脑配置了很多服务后,会出现端口占用的情况(我遇到了一个被系统进程占用的情况,杀也杀不掉,百度了一下发现其实是有其他服务占用的),此时的错误日志会在logs目录中error
使用
关于nginx的使用,我是在跨域的时候进行使用的,这个过程也是踩了很多的坑~前端用Vue打包了,后台提供了访问接口,首先,我们都知道nginx支持方向代理,那它是什么意思呢?
正向代理: 客户端非常明确要访问的服务器的地址,但由于安全等因素可能无法直接访问,此时有代理服务器代替客户端发送请求。
反向代理:客户端发送了请求,但不知道哪个服务器最终会去解决这个请求,因为由nginx代理接受了,nginx根据你的配置文件、
再将请求转交给真正的服务器、从而实现保障内安全、或者实现一些负载均衡的操作。
# 运行用户
#user nobody;
# 启动进程,通常设置成和CPU数量相等
worker_processes 1;
# 全局错误日志
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
# PID文件,记录当前启动的NGINX的进程ID
#pid logs/nginx.pid;
# 工作模式及连接数上限
events {
worker_connections 1024; # 单个后台worker process进程的最大并发链接数
}
# 设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
include mime.types; # 表示支出邮件mine类型
default_type application/octet-stream;
# 设定日志
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
# e4sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,
# 对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为
# off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
# 当你有多个server时,你可能要设置这个参数,不然会启动不了,似乎该参数会影响nginx查找server name的速度
server_names_hash_bucket_size 64;
# Nginx借助gzip提高页面加载速度,该参数有着更加详细的配置
#gzip on;
# 根据需要可以配置多个server,其中,在location后面的
# 路径表示拦截的路径,供前端调用
server {
listen 80; # nginx启动时的端口
server_name local.live.com; # 自定义域名,你也可以使localhost,不过有多个server时
# 就需要多个域名了,此时,需要我们在host文件中自定义映射
#charset koi8-r;
#access_log logs/host.access.log main;
# 默认页,这里我修改为我的静态文件的位置,在访问local.live.com时会显示该路径下的index.html或者index.htm
location / {
index index.html index.htm;
root F:/live-code/wechat-live-code/html/dist;
try_files $uri $uri/ /index.html;
}
# 拦截 以/api为结尾的路径
location ^~ /api {
#DemoBackend1后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点导致404
# DemoBackend1为下面配置的负载均衡节点的路径
proxy_pass http://DemoBackend1;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
#简单的(伪)负载均衡节点配置,同样可以设置多个,weight为权重
# 也是nginx默认的调度算法轮询
upstream DemoBackend1 {
server 127.0.0.1:8080 max_fails=1 fail_timeout=60s weight=1;
#server 127.0.0.1:8000 max_fails=1 fail_timeout=60s weight=2;
#ip_hash;
}
#简单的负载均衡节点配置
upstream backend {
server localhost:8068 max_fails=1 fail_timeout=60s;
server localhost:8069 max_fails=1 fail_timeout=60s;
#ip_hash;
}
}