Nginx笔记-----YangH

一、Nginx 常用命令
//进入nginx的目录下
启动nginx服务,可选择使用nginx命令,或通过brew管理工具启动,亦或是直接运行start nginx指令。
终止:执行nginx -s stop命令或通过brew services stop nginx操作。
安全退出:nginx -s quit
检查配置文件:nginx -t
重新加载配置文件:nginx -s reload
查看nginx进程:grep nginx
二、Nginx的使用
此处所记录的是整体设置,随着worker_processes数值的增加,系统所能承受的并发操作数量相应提升,然而,这一能力仍受限于硬件及软件等设备的性能。
worker_processes 1;
events {
# 每个进程能够接受的最大连接数
worker_connections 1024;
}
http {
include mime.types;
默认类型为,应用数据流格式;
sendfile on;
keepalive_timeout 65;
server {
listen 8070;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
错误页面设置为500、502、503、504,并指向/50x.html文件进行处理。
location = /50x.html {
root html;
}
}
}
三、示例三:负载均衡案例,编号3.1;负载均衡的命名规范,编号3.2;访问链接为http://,后跟负载均衡的名称3.3;调优方案包括,编号1,轮询策略。
# 权重都一样,按照顺序依次转发
upstream myserver {
server 192.168.31.212:8081;
server 192.168.31.212:8082;
}
2、
依据用户访问的IP地址生成的哈希值进行服务器的分配,确保每位用户始终访问固定的后端服务器,此方法有助于解决多个应用程序服务器间session的复制与同步难题。
upstream myserver {
ip_hash;
server 192.168.31.212:8081;
server 192.168.31.212:8082;
}
3、 : 权重。
# weight代表权重
upstream myserver {
ip_hash;
服务器地址为192.168.31.212,端口号为8081,权重设置为10。
服务器地址为192.168.31.212,端口号为8082,权重设置为5。
}
4、fair
# 按后端服务器的响应时间来分配请求,响应时间短的优先分配
upstream myserver {
server 192.168.31.212:8081;
server 192.168.31.212:8082;
fair;
}
5、
# 把请求转发给连接数较少的后端应用程序服务器
upstream myserver {
leact conn
server 192.168.31.212:8081;
server 192.168.31.212:8082;
}
6、使用示例(以权重为例)
upstream myserver {
#weight代表权重
服务器地址为192.168.31.212,端口号为8081,权重设置为10。
服务器地址为192.168.31.212,端口号为8082,权重设置为5。
}
server {
listen 8070;
server_name localhost;
location / {
proxy_pass http://myserver;
index index.html index.htm;
}
四、动静分离(代理Vue项目)4.1、root
server {
listen 9014;
server_name localhost;
location / {
root D:/progect/dist/;
index login.html login.htm;
启用自动索引功能;#展示当前目录下的文件信息,并以索引列表的形式呈现。开启状态用“on”表示,关闭状态用“off”表示。
}
}
4.2、alias和root的区别
server {
listen 9014;
server_name localhost;
location /test/ {
root D:/progect/dist/;
index login.html login.htm;
}
}
root在location代理中指定的路径,将会被附加到,从而形成实际访问文件的完整路径:
# 将test拼接到地址中。
请勿访问该网址:http://127.0.0.1:9014/test/login.html,该页面目前处于禁止访问状态。
代理服务器位置:位于D盘下的progect文件夹中,具体路径为dist目录下的test子目录,其中包含的文件名为login.html。
server {
listen 9014;
server_name localhost;
location /test/ {
alias D:/progect/dist/;
index login.html login.htm;
}
}
别名:在位置代理中,该路径不会与实际访问文件的路径相连接。
# 不将test拼接到地址中。
# 用户访问:http://127.0.0.1:9014/test/login.html
代理服务器地址位于:D:/progect/dist目录下的login.html文件。
4.3、在将vue项目代理至别名路径的过程中,首先需要在vue项目中的vue.js文件内进行路径的调整,具体操作是将路径修改为//。
const path = require("path");
引入路径模块自“path”文件。
module.exports = {
publicPath: "/project/",
// 选项...
devServer: {
open: true, // 设置自动打开
port: 8080, // 设置端口号
主机地址为:192.168.0.124,该IP属于本地网络。
// hotOnly: true, // 热更新
禁用主机检查功能:开启此项设置,可消除无效主机头信息的问题。
proxy: {
//设置代理
"/connect": {
目标网址为:https://open.weixin.qq.com,请勿修改。
changeOrigin: true,
若需启用代理功能以处理 websockets,请确保设置此参数。
确保:不启用,//若涉及HTTP协议的接口,此参数需进行设置。
pathRewrite: {
"^/": "",
},
}
},
},
configureWebpack: {
resolve: {
alias: {
//这里配置了components文件的路径别名
"@": resolve("src"),
组件部分:从"src/components"目录中解析。
},
},
},
};
2、文件夹中index.js文件中修改base为‘//’
定义一个名为router的新对象,该对象是通过VueRouter构造函数创建的,并包含了以下配置:{
mode: "history",
// mode: "hash",
基础路径:若环境变量NODE_ENV的值为"development",则使用斜杠;否则,使用斜杠加"project"目录。
routes,
});
3、nginx中代理配置
server {
listen 80;
服务器名称设定为www.coderkey.com,不得更改。
#charset koi8-r;
配置访问日志,将其记录至“logs/host.access.log”文件,并应用主配置。
location / {
root F:/parant/dist;
尝试使用请求的路径,若路径不存在则尝试使用路径加斜杠,若仍不存在则默认显示首页index.html。
}
location /project {
alias F:/subparant/dist;
尝试使用文件 $uri,若不存在则尝试 $uri/,若仍未找到,则显示 /project/index.html。
index index.html;
}
五、结尾的:”/“
在nginx中进行的是模糊匹配
“/” 就像一个标识符,的模糊匹配只能匹配标识符后面的内容
六、结尾加/的区别1、结尾不加:"/"
server {
listen 8070;
server_name localhost;
location /test/ {
代理转发至地址,http://127.0.0.1:9014,分号结束。
index index.html index.htm;
proxy_redirect off;
设置代理头信息 X-Forwarded-For 为 $proxy_add_x_forwarded_for 的值;
设置代理头部 X-Real-IP 为客户端的远程地址,以分号结束。
设置代理头部信息,主机名为 $http_host;
代理连接超时时间设置为1秒,即nginx与后端服务器建立连接时,若超过1秒钟未能成功连接,则视为超时。
代理发送超时时间设定为30秒,即后端服务器数据返回的时间限制。
设置代理读取超时时间为60秒;自连接建立后,若后端服务器未在规定时间内响应,则代理将终止接收数据。
}
// 此时的url会自动拼接location对应的url
实际请求的路径由proxy_pass和location这两个地址共同构成。
请勿访问该网址:http://127.0.0.1:8070/test/user/getUserInfo,该链接涉及用户信息获取操作。
代理服务器地址为http://127.0.0.1:9014,路径指向/test/user,具体操作为获取用户信息。
2、结尾加"/"
在指定URL的末尾添加斜杠“/”,这样该URL就不会与后续的URL进行连接。
server {
listen 8070;
server_name localhost;
location /test/ {
设置代理服务器转发至本地地址,端口号为9014,路径为http://127.0.0.1:9014/,操作以分号结束。
index index.html index.htm;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_connect_timeout 1;
proxy_send_timeout 30;
proxy_read_timeout 60;
}
在拼接过程中,位于location指令下的URL地址不会被附加到proxy_pass指令指定的URL之后。
# 不将test拼接到地址中
# 用户访问:http://127.0.0.1:8070/test/user/getUserInfo
代理服务器地址为http://127.0.0.1:9014,该地址用于执行/user/getUserInfo路径下的用户信息获取操作。
七、禁止文件下载
location ~ \.(txt|pdf|doc)$ {
deny all;
}
扫一扫在手机端查看
本文链接:https://www.by928.com/shan-xi/9984.html 转载请注明出处和本文链接!请遵守
《网站协议》
!
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1