Mac环境安装Nginx指南实录

news/2025/9/20 17:29:52/文章来源:https://www.cnblogs.com/shuyixiao/p/19102641

在Mac电脑上运行Nginx,最简便且推荐的方法是使用 Homebrew 安装和管理。以下是详细步骤指南:


✅ 一、安装 Homebrew(如已安装可跳过)

打开终端(Terminal),执行以下命令安装 Homebrew(Mac 上最常用的包管理工具):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,执行:

brew --version

安装成功效果图


✅ 二、使用 Homebrew 安装 Nginx

brew install nginx

安装完成后,可查看版本确认:

nginx -v

nginx版本查询

默认安装路径为:

  • 配置文件:/usr/local/etc/nginx/nginx.conf(Apple Silicon 为 /opt/homebrew/etc/nginx/nginx.conf
  • 网页根目录:/usr/local/var/www(或 /opt/homebrew/var/www

✅ 三、启动 Nginx

brew services start nginx

或手动启动:

nginx

打开浏览器访问:

http://localhost:8080

如果看到 “Welcome to nginx!” 页面,说明运行成功。


✅ 四、常用命令

操作 命令
启动 nginxbrew services start nginx
重启 brew services restart nginx
停止 brew services stop nginx
重新加载配置 nginx -s reload
测试配置 nginx -t

✅ 五、修改配置示例

编辑配置文件:

nano /usr/local/etc/nginx/nginx.conf

添加一个简单的虚拟主机:

server {listen 8080;server_name localhost;location / {root /usr/local/var/www;index index.html;}
}

保存后执行:

nginx -s reload

✅ 六、设置开机自启(可选)

brew services start nginx

Homebrew 会自动将其注册为 launchd 服务,实现开机自启。


✅ 七、卸载(如需要)

brew uninstall nginx

本次项目需要做的实操事情

如何把安装好的Nginx静态资源替换成宿主机本地绝对路径,省得记相对规则:

location / {root   /opt/homebrew/var/www;index  index.html index.htm;
}

配置完成效果

使用nginx命令启动之后

nginx -t      # 语法检查
nginx -s reload

静态资源如何存放

将前端静态资源直接打包成dist文件夹,然后使用下述命令,复制的是“dist 里面的文件”,而不是 dist 文件夹本身

# 进入 dist
cd dist
# 把内部所有文件复制到 nginx 根目录
cp -r * /opt/homebrew/var/www/

展示图

Nginx如何添加自定义请求头

server {listen       8080;server_name  localhost;location / {root   /opt/homebrew/var/www;index  index.html index.htm;}location /kb/ {proxy_pass http://localhost:10003;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Custom-Header custom-value;  # 添加自定义头}location /user/ {proxy_pass http://localhost:10003;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Custom-Header custom-value;  # 添加自定义头}location /assistant/ {proxy_pass http://localhost:10003;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Custom-Header custom-value;  # 添加自定义头}location /kl/ {proxy_pass http://localhost:10003;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Custom-Header custom-value;  # 添加自定义头}location /platform/ {proxy_pass http://localhost:10003;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Custom-Header custom-value;  # 添加自定义头}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/908467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go语言学习之strconv将字符串转数据类型

package mainimport ("fmt""strconv" )func main() {var str string = "true"var b boolb, _ = strconv.ParseBool(str)fmt.Println(b)var num int64num, _ = strconv.ParseInt("1…

csp2025

初赛瞎几把做,感觉是 97。

Ai元人文:价值共生时代的技术哲学构想之宣言

Ai元人文:价值共生时代的技术哲学构想之宣言 宣言:价值共生时代的技术哲学构想 图片 缘起:对价值对齐范式的根本性质疑 当前人工智能陷入价值对齐的困境——试图将人类多元价值压缩为机器可优化的单一目标函数。我们…

完整教程:TruckSim与Matlab-Simulink联合仿真(一)

完整教程:TruckSim与Matlab-Simulink联合仿真(一)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

N皇后问题(DFS)

题目描述: 输入样例:4期望输出:. Q . . . . . Q Q . . . . . Q .. . Q . Q . . . . . . Q . Q . .代码实现:#include<bits/stdc++.h> using namespace std;const int N =10;int n; int col[N],d1[N],d2[N];…

AI 智能体与 Coze 工作流实践:公众号对标账号集采 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

12,FreeRTOS队列执行

12,FreeRTOS队列执行2025-09-20 17:16 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-…

2025csp初赛

Day 0 文化课,聊天,做初赛,养精蓄锐,明日再战!明天多拍一点照片。 Day 1 早上并没有睡太大的觉,先去学校。和同学一起备考,很好玩。还行啦,随便做一点初赛,随便做一点arc,然后探索机房,然后发现一些很好很好…

PostGIS 介绍(2)--PostGIS 参考

本文主要介绍 PostGIS 中的常用函数。 1、PostGIS 数据类型 数据类型转换可以是显式的,这意味着必须使用 CAST(myval As sometype) 或 myval::sometype 语法指定转换。显式转换避免了歧义转换的问题。所有数据类型都可…

Java编译全过程解密:从源码到机器码的奇幻之旅

引言:Java程序的诞生与成长 当我们编写完一个Java程序,从点击"运行"到看到结果,背后发生了什么?这个看似简单的过程,实际上经历了一场精彩的编译之旅。Java的编译过程分为前端编译和后端编译两个阶段,…

第一节计算机硬件基本组成

随机存储器可以按地址访问存储器的任一单元。 顺序存储器访问时按顺序查找目标地址,访问数据所需时间与数据存储位置相关。 直接存储器按照数据块所在位置访问,介于上述两者之间,磁道寻址随机,磁道内寻址顺序。 相…

PyTorch深度学习实战【11】之神经网络的学习和训练 - 详解

PyTorch深度学习实战【11】之神经网络的学习和训练 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

深搜广搜(DFS、BFS)

DFS:广度优先搜索 DFS所使用的数据结构为栈,每次都需要遍历到最底层,无法遍历后回溯到上一层,然后寻找其他分支,直到所有分支都遍历后,再回溯上一层。以此循环。BFS需要记录从开始到结束结点的元素值,以树为例,…

android studio发现设备立刻就掉

安卓9,usb连接之后,androidstudio会短暂的显示设备名,但几秒钟就掉了,变成no device found. which adb查看到adb位于/usr/bin/adb ls -lah /usr/bin/adb查看指向../lib/android-sdk/platform-tools/adb* 经常会出现…

见证语音领域 GPT-3 时刻!小米开源端到端语音模型 MiMo Audio;Xbox上线游戏助手,实时游戏理解+语音交互丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态度…

go语言学习之基本数据类型转字符串

package mainimport ("fmt""strconv" )func main() {res := fmt.Sprintf("%s %d %c %t", "萧海", 2025, A, true)fmt.Println(res)var num int = 10res = strconv.FormatInt(…

DeepLearning-LoRA 及其先进变体技术指南

LoRALoRA 及其先进变体技术指南 1. 引言 1.1 背景:大模型微调的挑战 大型深度学习模型(如 LLMs、扩散模型)的参数规模已达到万亿级别,对其进行全量微调(Full Fine-Tuning)面临巨大挑战:存储灾难:每个任务都需存…

成功没有奇迹,只有积累----Bruce Lee

目标 “目标并不是一定要达到的,它通常只是努力的方向。” 目标是努力的方向,不要为达成目标而停滞不前。把注意力放在享受这个旅程和过程上。如果你在一处风景胜地徒步旅行,你的目标是到达最后的目的地,但那并不意…

strtol() 函数 - 字符串转长整数(long int)

1.引言 strtol() 是 C 语言标准库中的一个字符串转长整数(long int) 的函数,定义在 <stdlib.h> 头文件中。 #include <stdlib.h> long int strtol(const char *str, char **endptr, int base);二、参数…

详细介绍:【最新版】SolidWorks2025安装包下载与安装图文教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …