mac 安装 nginx 流程,并解决前端跨域问题
mac 安装 nginx 流程
首先mac安装brew包管理工具:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
(若出现错误:error: could not lock config file .git/config: Permission denied)
解决办法:sudo chgrp -R admin /usr/local
sudo chmod -R g+w /usr/local 回车即可。
再次输入 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
回车即可
第一:正式安装nginx
brew install nginx
第二:查看nginx安装目录
open /usr/local/etc/nginx/

(成功打开nginx目录,可以看到servers目录以及nginx.conf的配置文件(后面会用到这个配置文件)。
第三:open /usr/local/Cellar/nginx //这个是nginx被安装到的根目录

第四:启动nginx
启动Nginx服务器 :命令行输入sudo nginx。
打开浏览器,输入loacalhost:80,会看到nginx的欢迎页,如图:

第五:配置nginx
编辑器打开nginx根目录找到nginx.conf,代码找到server开始配置:
listen:8888 监听的端口号(注意不要与前端项目启动的端口号一样)
serve_name:127.0.0.1 localhost 10.20.139.146 监听的我们自己的ip地址,可以写多个。
location / {
proxy_pass http://localhost:8000 //监听的前端启动的项目地址
} (当在浏览器输入localhost:8888时,会自动映射到 http://localhost:8000 地址)
location ^~ /api/ {
rewrite ^/api/(.*)$/$1 break;
proxy_pass https://api.test.com/; //后端接口地址
proxy_set_header Host api.devland.cn;
} //配置前端调用接口跨域问题:监听所有以 /api 开头的接口
配置完后,需要输入命令:sudo nginx -s reload 重新加载配置文件
可能出现错误:nginx [error] invalid PID number " " in "/user/local/var/run/nginx/nginx.pid"
解决办法:sudo nginx -c /user/local/etc/nginx/nginx.conf //重新指定nginx配置文件
前端调用接口如:axios.post('/api/goods/details')
至此,前端调用后端接口跨域问题就解决了。
nginx 常用命令:
帮助命令:nginx -h
启动Nginx服务器 :sudo nginx
查看进程: ps aux | grep nginx
配置文件路径:sudo nginx -c /usr/local/nginx/conf/nginx.conf
检查配置文件:sudo nginx -t
指定启动配置文件:sudo nginx -c /usr/local/nginx/conf/nginx.conf
暴力停止服务:sudo nginx -s stop
优雅停止服务:sudo nginx -s quit
重新加载配置文件:sudo nginx -s reload
mac 安装 nginx 流程,并解决前端跨域问题的更多相关文章
- 项目部署问题:xftp无法连接服务器、Nginx403 Forbidden解决、nginx反向代理解决前端跨域问题
一.xftp无法连接服务器 在xftp中配置正确的ip,用户名和密码后,居然无法连接 解决方案:将协议里面的FTP换成SFTP,注意换成SFTP后端口就默认换成22,要还是原来的21就还是连不上的哈 ...
- nginx反向代理-解决前端跨域问题
1.定义 跨域是指a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源.注意:跨域限制访 ...
- 使用nginx反向代理解决前端跨域问题
1. 首先去Nginx官网下载一个最新版本的Nginx,下载地址:http://nginx.org/en/download.html.我这里下载的版本是:nginx/Windows-1.12.0.下载 ...
- 用nginx的反向代理机制解决前端跨域问题在nginx上部署web静态页面
用nginx的反向代理机制解决前端跨域问题在nginx上部署web静态页面 1.什么是跨域以及产生原因 跨域是指a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同,或是a页面为ip地 ...
- JAVA解决前端跨域问题。
什么是跨域? 通俗来说,跨域按照我自己的想法来理解,是不同的域名之间的访问,就是跨域.不同浏览器,在对js文件进行解析是不同的,浏览器会默认阻止,所以 现在我来说下用java代码解决前端跨域问题. 用 ...
- 完美解决前端跨域之 easyXDM 的使用和解析
前端跨域问题在大型网站中是比较常见的问题.本文详细介绍了利用 easyXDM 解决前端跨域的原理细节和使用细节,具体使用时可以在文中代码实例的基础上扩展完成. 0.背景 因个别网络运营商存在 HTTP ...
- 如何用Nginx解决前端跨域问题?
前言 在开发静态页面时,类似Vue的应用,我们常会调用一些接口,这些接口极可能是跨域,然后浏览器就会报cross-origin问题不给调. 最简单的解决方法,就是把浏览器设为忽略安全问题,设置--di ...
- 用nginx的反向代理机制解决前端跨域问题
什么是跨域以及产生原因 跨域是指a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制 ...
- 【Nginx】在Windows下使用Nginx解决前端跨域问题
提出问题:因为一些历史原因,后台代码不能动.请求别人的接口拿数据显示在前端,怎么办呢? 分析问题:通过ajax请求. 解决问题:因为浏览器的同源策略,所以需要解决跨域问题.(同源策略:请求的url地址 ...
- 利用nginx做反向代理解决前端跨域问题
最近朋友再群里提了一个问题,他们公司给他提供了一个获取数据的接口,在浏览器访问这个接口能获取到json数据,但是放在项目里使用ajax就产生了跨域问题,一般这个需要提供接口的后台方面需要做跨域处理,但 ...
随机推荐
- shell - scriptfifo
shell1: mkfifo xxfifo script -f xxfifo cmd cmd exit -----主动退出 shell2: cat xxfifo 可以看到shell1的所有操作. ...
- Vue案例——todolist
最近在学习vue,实现todolist案例,实现效果如下: 该案例分为四个部分:header为输入框,body为列表,item是列表中的条目,footer为最下方的统计. 实现步骤: ①创建项目 vu ...
- 备份还原ESXi 中的虚拟机快照
了解 ESXi 中的虚拟机快照 (1015180) Click here to view full document Symptoms 免责声明:本文是 Understanding VM snapsh ...
- 使用虚拟环境-Python虚拟环境的安装和配置-virtualenv
打开windows命令终端(cmd)安装虚拟环境 virtualenv(如果你执行了上面查看python版本的语句,那么要先使用exit()方法先退出) pip3 install virtualenv ...
- ASPICE的实践
ASPICE这种规范文件如果严格遵守,那么投入产出比是比较小的. 但是其中的思想是很好的,比如对需求的管理.讲究双向可追溯. 但是也是有很多需要慎重的,比如对component和unit的区分太过明显 ...
- E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)E: 无法对目录 /var/lib/apt/lists/ 加锁
问题: 解决:https://www.cnblogs.com/long5683/p/11058066.html 使用方法二 可以
- drf从入门到飞升仙界 03
APIView执行流程 基于APIView+JsonResponse编写接口 # APIView是drf提供给使用者的一个类,在使用drf写视图类,继承都是这个类及其子类 # APIView继承了Dj ...
- oracle 数据库备份脚本(数据泵1-全库)
#!/bin/sh# ################################################################### Powered by Ironfo# ## ...
- 为什么JAVA中(byte)128结果为-128;(byte)-129结果为127
为什么JAVA中(byte)128结果为-128;(byte)-129结果为127 在JAVA中默认的整型为int型,int型占4个字节,为32位.byte占一个字节为8位. JAVA中的二进制都是采 ...
- 2022-3-21内部群每日三题-清辉PMP
1.Sprint的速度低于预期,敏捷团队成员应该怎么做? A.限制团队成员和客户之间的沟通,以防止不必要的焦虑. B.管理沟通,以重置相应团队成员和干系人的期望. C.管理几名团队成员和客户之间的沟通 ...