nginx是什么
Nginx是一个高性能的Web和反向代理服务器,它具有很多非常优越的特性。
作为Web服务器:相比Apache,Nginx使用更少的资源,支持更多的并发连接,体现更高的效率,这点使Nginx尤其受到虚拟主机提供商的欢迎,能够支持高达50,000个并发连接数的响应,
作为负载均衡服务器: Nginx既可以在内部直接支持Rails 和 PHP,也可以支持作为HTTP代理服务器对外进行服务,Nginx用C编写,不论是系统资源开销还是CPU使用率都比Perbal要好的多。
作为邮件代理服务器: Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器)
Nginx安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器,Nginx启动特别容易,并且几乎可以做到7 * 24不间断运行,即使运行数个月也不需要重启。你还能够在不间断服务的情况下进行软件版本的升级。
自己搭建一个nginx服务器
Mac 系统下搭建一个nginx服务器
- 安装brew:命令行输入
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
复制代码
这里有提示目录不存在,要创建需要按return键,window下的回车键 安装成功后,
<!-- 更新brew-->
brew update
<!-- 查看安装信息-->
brew -v
<!-- 查看是否安装了nginx-->
brew info nginx
复制代码
- 安装nginx
brew install nginx
复制代码
- 启动nginx
<!--启动nginx-->
nginx
<!--重启nginx-->
nginx -s reload
<!--停止nginx-->
nginx -s strop
复制代码
- 修改页面信息
open /usr/local/var/www/
复制代码
- 查看nginx的安装目录
open /usr/local/Cellar/nginx/
复制代码
- 查看nginx的配置文件 nginx.conf
/usr/local/etc/nginx/
复制代码
如何把自己本地前端代码作为nginx服务器访问内容
把本地前端代码拷贝到
open /usr/local/var/www
复制代码
然后修改nginx.conf配置文件
location / {
alias /usr/local/var/www/dist/;
index index.html;
try_files $uri $uri/ /index.html;
}
复制代码
然后重启nginx ==nginx -s reload== ,在刷新localhost:8080就可以看到新的代码页面了。
解决跨域的方法:
- CORS 需要服务器设置Header: Access-Control-Allow-Origin
- JSONP 需要目标服务器配合一个callback函数
- window.name + iframe 需要目标服务器响应window.name
- window.location.hash + iframe 需要目标服务器作处理
- html5 的postMessage + iframe这个也是需要目标服务器或者说目标页面写一个postMessage,主要侧重于前端通讯
使用nginx解决跨域问题
nginx反向代理,可以用于不同目标服务器,不过你需要搭建一个中转nginx服务器,用于转发请求。
在nginx.conf中配置
location /api/{
proxy_pass http://172.22.31.222:8090/api/;
}
复制代码