Nginx配置
Nginx配置
brew install nginx # 下载 安装 Nginx
sudo nginx -t # 查看是否安装成功
运行结果:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
打开nginx配置文件 nginx.conf;
1.进入nginx文件下
cd /usr/local/etc/nginx/
2.编辑nginx.conf文件
vim nginx.conf
在http模块的server部分配置
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
}
include servers/*;
# 3. 在这后面或者花括号后面进行配置 include sites/*.conf
include sites/*.conf
}
4.先看看/usr/local/etc/nginx目录下有没有文件 servers , 有进入到6步骤,没有进入5步骤
ll
5.没有就新建目录 ‘mkdir’,然后进入6步骤
mkdir servers
6.在servers下,加一个文件。文件名以’.conf’结尾。比如:xx.xx.test.conf
cd servers
touch xx.xx.test.conf
7.编辑该文件
vim xx.xx.test.conf
文件内容 需要配置的nginx内容 这部分需要自己定制(照搬没用) 敏感信息用xx表示
server {
listen 80; # 端口号
server_name xx.xx.test; # 目标地址
error_log /tmp/www/logs/xx.xx.test.error.log;
access_log /tmp/www/logs/xx.xx.test.access.log;
index index.html index.htm index.php;
location / {
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Forwarded-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:18080/www-xx-com/;
proxy_redirect http://xx.xx.test/www-xx-com/ /;
}
}
上述步骤完成之后:
sudo nginx -t
报错:
"/tmp/www/logs/yunqi.aliyun.test.error.log" failed (no such file or directory)
nginx:configuration file /usr/local/etc/nginx/nginx.conf test failed
原因:
“/tmp/www/logs/yunqi.aliyun.test.error.log” failed 日志目录还没有创建
解决:
mkdir -p /tmp/www/logs/
再次:
sudo nginx -t
# 成功
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
接下来,测试一下:
sudo nginx
# 如果已经跑过,则运行下面的就可以了
sudo nginx -s reload
在host文件中加上:
127.0.0.1 xx.xx.test
这样,nginx服务器就配完了
扩展 Nginx
Nginx是一个代理 http web 服务器。 (代理:就是别人不想做的事情或者做不好的事情 Nginx 可以代为处理)
HTTP指的是网络上的一些请求,连接等。
Nginx 常用作 处理高并发(负载均衡) , 静态资源(处理静态文件), 代理, 反向代理。
处理静态文件的速度快,至于为什么,有待研究。索引文件以及自动索引;打开文件描述符缓冲。
反向代理是 以代理服务器的身份接收网络上的请求,然后将请求转发给内部网络上的服务器,并从服务器上得到的结果返回给网络上请求连接的客户端,此时的代理服务器对外就表现为一个反向代理服务器。
负载均衡是 将多个请求 均衡的分配给 不同的服务器(多个实例,集群)。 关联词:分布式。
使用Nginx把源地址请求代理到目标地址上。
如果使用的是dn脚手架,可以继续往下看…
启动node代码 portal层 用于Nginx的目标地址
tnpm i
npm run start
启动前端页面 dn脚手架 用于Nginx的源地址
dn dev -e node
dn dev e的默认参数是 dev。本地mock数据会判断环境。用于 模拟接口数据。
// request文件
if(config.env === 'dev'){
url = '/api' + url;
}
// server文件 mock数据需要配置 当前使用了nginx了,就不需要走这段配置了
proxy:
rules:
^/api(.*): 'https://mocks.xx.com/mock/xx/'
为了不让本地环境使用mock数据,需要做如下处理:
// config.node.jsmodule.exports = {
env: 'node',
};
当使用dn dev -e node启动项目时,指定使用node环境(自定义),就不会使用到mock的数据了。
而是会通过 Nginx 代理到node端口提供的真正的接口数据。
上一篇: 探讨PHP获取Oracle数据乱码的相关问题解决办法
下一篇: ES6中let和var的区别
推荐阅读
-
web容器中实例化spring相关配置解析
-
win2000server IIS和tomcat5多站点配置
-
Spring常用配置及解析类说明
-
SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用
-
基于Spring Boot不同的环境使用不同的配置方法
-
Android RecycleView添加head配置封装的实例
-
JSP连接SQL Server 2000系统配置
-
wallpaper engine怎么设置开机自动启动 allpaper engine开机启动设置与配置需求教程
-
VSCode使用之Vue工程配置eslint
-
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题