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就产生了跨域问题,一般这个需要提供接口的后台方面需要做跨域处理,但 ...
随机推荐
- C 标准 C89/C90/C99/C11/C17
C89/C90 PDF:https://www.yodaiken.com/wp-content/uploads/2021/05/ansi-iso-9899-1990-1.pdf C99 PDF:htt ...
- a菜单点击标红,其他标黑代码
<script> let aList = document.querySelectorAll('a'); console.log(aList); for (let index = 0; i ...
- C#消息泵探索(二)
引言: 上篇文章里简单的解释了C#的消息泵原理,这里我们以winform为例详细地了解一下实现代码. 底层实现 [DllImport(ExternDll.User32, ExactSpelling ...
- 日志服务器 nagios log server
官网 https://www.nagios.com/products/ 可官网下载手动安装也可命令安装 命令安装 cd /tmp wget https://assets.nagios.com/down ...
- Java Swing 禁止黏贴动作
碰到一个需求,不让复制黏贴. 可考的方法有:1 重写JTextField paste 函数 2 删除组件ActionMap中与CTRL + V按键相关的操作 因为JTextField 已经被封装 ...
- goland使用go mod模式
使用go mod之后,想要在goland中有代码提示,有两种方式,一种是使用gopath下的goimport工具,另一种是使用gomod自身的管理工具 我是用的是非gopath的方式,每次新建项目后总 ...
- disp
str = sprintf( 'Best Cross Validation MSE = %g Best c = %g Best g = %g',bestmse,bestc,bestg); disp(s ...
- Android Studio打开现有的项目,Android自带的类、函数(方法)属性等爆红,含解决方式
如上图,Android 自带的 setContentView 爆红,XML文件内 android:相关的属性(如android:layout_width) 爆红 原因: 使用Android Studi ...
- B站小白STM32项目 第9课卡在OneNet_DevLink() 解决办法
笔者在看这一集的时候,自己在emq官方上购买了服务器,于是就换成了自己的服务器和相应的mqtts端口, 买了两个服务器,但最后都卡在OneNet_DevLink() :要么连接不成功,要么显示连接申请 ...
- Docker-Compose实战<上篇>
1 什么是 docker-compose? Compose 是用于定义和运行多容器 Docker 应用程序的工具.通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务.然后,使用 ...