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 update brew -v brew info nginx 复制代码
- 安装nginx
brew install nginx复制代码
- 启动nginx
nginx nginx -s reload 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函数
- + iframe
- window.location.hash + iframe 需要目标服务器作处理
- html5 的postMessage + iframe这个也是需要目标服务器或者说目标页面写一个postMessage,主要侧重于前端通讯
使用nginx解决跨域问题
nginx反向代理,可以用于不同目标服务器,不过你需要搭建一个中转nginx服务器,用于转发请求。
在nginx.conf中配置
location /api/{ proxy_pass http://172.22.31.222:8090/api/; }复制代码