Mac使用Nginx设置代理,并禁用自带Apache
Mac自带Apache服务,并占用80端口,如果需要使用Nginx,需要禁用Apache并自己安装Nginx
一、禁用自带Apache
1.关闭Apache
sudo apachectl -k stop
如果出现如下报错:
httpd: Could not reliably determine the server’s fully qualified domain name, using pgydeMacBook-Pro.local. Set the ‘ServerName’ directive globally to suppress this message
(1) 打开apache配置目录:
vim /etc/apache2/httpd.conf
(2) 搜索:#ServerName www.example.com:80
增加一行 ServerName localhost:80
(3) 重新启动Apache
sudo apachectl restart
(4) 关闭Apache
sudo apachectl -k stop
2.禁止apache自启动
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
二、使用 Homebrew 安装 Nginx
在 macOS 上使用 Homebrew 安装 Nginx 时,Nginx 的默认安装目录通常是 /usr/local/Cellar/nginx/。具体的安装路径可以通过以下命令查看:
brew --prefix nginx
1. Nginx 配置文件和目录
安装完成后,Nginx 的主要配置文件和目录通常位于以下位置:
- 主配置文件:
/usr/local/etc/nginx/nginx.conf - 站点配置文件:
/usr/local/etc/nginx/servers/ - 日志文件:
/usr/local/var/log/nginx/ - HTML 文件:
/usr/local/var/www/
2. 安装 Nginx
使用 Homebrew 安装 Nginx:
brew install nginx
3. 启动和管理 Nginx
安装完成后,可以使用以下命令启动、停止和重启 Nginx:
# 启动 Nginxbrew services start nginx# 停止 Nginxbrew services stop nginx# 重启 Nginxbrew services restart nginx
4. 配置 Nginx
您可以编辑 Nginx 的主配置文件 /usr/local/etc/nginx/nginx.conf,或者在 /usr/local/etc/nginx/servers/ 目录中添加新的站点配置文件。
例如,创建一个新的站点配置文件 /usr/local/etc/nginx/servers/www.test.com.conf:
server {listen 80;server_name www.test.com;# 将所有 HTTP 请求重定向到 HTTPS, 如果需要强制https开启这项# return 301 https://$host$request_uri;location / {proxy_pass http://localhost:9000;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;}
}server {listen 443 ssl;server_name www.test.com;ssl_certificate /usr/local/etc/nginx/certs/certificate.pem;ssl_certificate_key /usr/local/etc/nginx/certs/certificate.key;location / {proxy_pass http://localhost:9000;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;}
}
5. 验证配置并重启 Nginx
(1)验证 Nginx 配置是否正确(如果不确定配置是否正确这个命令很有效):
nginx -t
(2)如果配置正确,重启 Nginx 以应用更改:
brew services restart nginx
三、生成 ssl/自签名 证书
在你指定的文件夹中打开命令行工具
# x509 根据现有的证书请求生成自签名根证书
# -days 设置证书的有效天数
# rsa:2048 现代的 SSL/TLS 配置通常要求至少 2048 位的密钥
openssl req -newkey rsa:2048 -nodes -keyout www.test.com.key -x509 -days 365 -out www.test.com.crt
Country Name (2 letter code) [国家]:CN
State or Province Name (full name) [省份]:Beijing
Locality Name (eg, city) [城市]:Beijing
Organization Name (eg, company) [组织/公司]:test
Organizational Unit Name (eg, section) [部门/单位]:test
Common Name (eg, fully qualified host name) [域名]:www.test.com
Email Address [邮箱]:test@outlook.com
相关文章:
Mac使用Nginx设置代理,并禁用自带Apache
Mac自带Apache服务,并占用80端口,如果需要使用Nginx,需要禁用Apache并自己安装Nginx 一、禁用自带Apache 1.关闭Apache sudo apachectl -k stop 如果出现如下报错:httpd: Could not reliably determine the server’s fully q…...
AlmaLinux 安裝JDK8
在 AlmaLinux 上安装 JDK 8 可以通过包管理器 dnf 来完成。AlmaLinux 是基于 RHEL 的一个开源发行版,因此其包管理系统和 RHEL 类似。以下是详细的步骤来安装 OpenJDK 8 1. 更新系统包列表 sudo dnf update -y 2. 安装 OpenJDK 8 使用 dnf 安装 OpenJDK 8。你可…...
Set 和 Map 的模拟实现
1、引言 在数据结构与算法的学习与实践中,关联容器(associative containers)是不可忽视的重要工具。作为高效管理数据的一类容器,C 标准库中的 set 和 map 在现代软件开发中扮演着关键角色。这两个容器通过平衡二叉搜索树&#x…...
深度学习自编码器 - 预测稀疏分解(PSD)篇
序言 在数据科学与机器学习的广阔领域中,深度学习作为一股不可忽视的力量,正引领着技术革新的浪潮。其中,自编码器( Autoencoder \text{Autoencoder} Autoencoder)作为一种特殊的神经网络结构,以其独特的自…...
如何检测出来这个ip是共享ip不安全
检测一个IP是否为共享IP以及其安全性可以通过以下几种方法和工具来进行分析。共享IP通常是指多个用户共享一个IP地址,常见于公共代理服务器、VPN服务或数据中心IP。如果你想评估一个IP是否为共享IP以及其安全性,以下方法和工具可以帮助你进行检测和分析。…...
TMStarget学习——T1 Segmentation数据处理及解bug
最新学习季公俊老师的神器 TMStarget 的第一个模块基于结构像的靶区计算T1 segmentation。下面上步骤: (1)在github 上下载 TMStarget https://github.com/jigongjun/Neuroimaging-and-Neuromodulation (2)按照要求下载依赖工具软件AFQ、vistasoft、SPM12 &#…...
锁策略, cas 和 synchronized 优化过程
1.1 常見的鎖策略 預測鎖衝突概率 樂觀鎖:加鎖的時候,假設出現鎖衝突的概率不大。圍繞加鎖做的工作會更少。 悲觀鎖:加鎖的時候,假設鎖出現衝突的概率很大。圍繞加鎖做的工作會更多。 synchronized “自適應” 初始是樂觀的。鎖…...
【HTML5】html5开篇基础(2)
1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…...
大数据新视界 --大数据大厂之 Reactjs 在大数据应用开发中的优势与实践
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
【论文阅读笔记】TOOD: Task-aligned One-stage Object Detection
论文代码:https://github.com/fcjian/TOOD 文章目录 论文小结论文简介论文方法Task-aligned Head(T-Head)T-Head伪代码解释 Task Alignment Learning(TAL)Task-aligned Sample AssignmentTask-aligned Loss 论文实验消…...
类中的特殊内容
仿照string类,自己手动实现 My_string #include <iostream> #include <string.h> using namespace std;class My_string { private:int len;int size;char *ptr; public:My_string():size(15),len(0){ptrnew char[size];ptr[0]\0;}My_string(const char…...
network request to https://registry.npmjs.org/xxx failed, reason: connect ETIM
目录: 1、问题描述2、解决方案3、npm镜像仓库替换 1、问题描述 npm install 时,报错:npm ERR! network request to https://registry.npmjs.org/postcss-pxtorem failed, reason: connect ETIMEDOU npm ERR! code ETIMEDOUT npm ERR! errno…...
MQ入门(二):java客户端SpringAMQP
目录 1.SpringAMQP 1.1.导入demo工程 1.2.快速入门 1.2.1.消息发送 1.2.2.消息接收 1.2.3.测试 1.3.WorkQueues模型 1.4.交换机类型 1.4.1.Fanout交换机 1.4.2.Direct交换机 1.4.3.Topic交换机 1.5.声明队列和交换机 1.5.1.基于注解声明 1.6.消息转换器 1.6.1.测…...
软技能与AI技术的融合
一、引言 ---- 随着人工智能(AI)和生成式人工智能(AIGC)如ChatGPT、Midjourney、Claude等大语言模型的迅速崛起,AI辅助编程工具已经变得越来越普遍。这不仅意味着程序员的工作方式正在发生深刻的变革,同…...
在视频上绘制区域:使用Vue和JavaScript实现交互式画布
在数字时代,交互式媒体内容的创建和消费变得越来越普遍。特别是视频内容,它不仅提供了视觉信息,还允许用户与之互动,从而增强了用户体验。本文将介绍如何使用Vue.js框架和JavaScript创建一个交互式组件,该组件允许用户…...
31. RabbitMQ顺序消费
1. 前言 上个小节中我们介绍了 RabbitMQ 中如何防止消息丢失,即保证消息发送的 At Least Once 性质,除此之外,如何防止消息被重复消费,即保证消息消费的 Exactly Once 性质,也是业务逻辑中需要考虑的问题。 2. 消息消费顺序 面试官提问:业务中使用了 RabbitMQ 消息队列…...
BERT-BiLSTM-CRF模型实战
文章目录 BERT-BiLSTM-CRF模型项目结构数据预处理运行环境使用方法关于BERT-BiLSTM-CRF参考文章BERT-BiLSTM-CRF模型 使用谷歌的BERT模型在BiLSTM-CRF模型上进行预训练用于中文命名实体识别。 项目结构 bert_bilstm_crf_ner_pytorchtorch_nerbert-base-chinese --…...
npm 安装 与 切换 淘宝镜像
一、镜像源 npm默认镜像源是国外的,安装依赖速度较慢,使用国内的镜像源速度会快一些。 1、设置淘宝镜像源: #最新地址 淘宝 NPM 镜像站喊你切换新域名啦! npm config set registry https://registry.npm.taobao.org(弃用了&…...
在Windows系统上安装的 Arrow C++ 库
在Windows系统上安装的 Arrow C 库 正文第一步第二步第三步第四步注: 检查是否安装成功 吐槽 正文 第一步 git clone gitgithub.com:apache/arrow.git第二步 打开powershell (好像cmd也可以,不过我试了powershell中不报错,cmd中报错,不是很清楚为什么) 打开arrow的目录 cd …...
格雷母线电缆头安装方法视频-武汉正向科技
正向科技|格雷母线电缆头怎么处理? 正向科技格雷母线采用整体热压工艺生产,一次成型,防护等级 IP67,用在直线或环形位移检测,抗污染能力强,防水、油、灰尘、蒸汽等,能在强粉尘、高温的环境下稳定…...
告别手动刷课!智慧树网课助手让你的学习效率提升50%
告别手动刷课!智慧树网课助手让你的学习效率提升50% 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 你是否厌倦了在智慧树平台上频繁点击"下一集"…...
PlugY终极指南:暗黑破坏神2单机模式完全解放方案
PlugY终极指南:暗黑破坏神2单机模式完全解放方案 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 还在为暗黑破坏神2单机模式的储物箱空间不足而烦恼吗&am…...
非参数回归实战:从理论到Python实现
1. 非参数回归:当数据拒绝被简单定义时 记得第一次接触回归分析时,老师用"用直线拟合数据点"来解释线性回归。但当我把这个方法用在实际项目中时,发现很多数据根本不像教科书里画的那样规整。那些弯弯曲曲的数据点,像是…...
Windows系统优化终极指南:用Win11Debloat免费快速提升性能
Windows系统优化终极指南:用Win11Debloat免费快速提升性能 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter an…...
Istio Gateway+VirtualService配置不生效?Java服务流量劫持失败的6大隐性原因深度诊断
第一章:Istio GatewayVirtualService配置不生效?Java服务流量劫持失败的6大隐性原因深度诊断Istio 的 Gateway 与 VirtualService 是实现南北向流量治理的核心资源,但 Java 应用在启用 Istio Sidecar 注入后,常出现请求未被 Envoy…...
用Multisim复刻经典:手把手教你搭建一个带分数显示的四人抢答器(附仿真文件)
用Multisim复刻经典:手把手教你搭建一个带分数显示的四人抢答器(附仿真文件) 在电子工程的学习和实践中,没有什么比亲手搭建一个完整的数字电路系统更能让人兴奋的了。尤其是对于那些对经典74系列芯片情有独钟的工程师和爱好者来说…...
AI合规 I 算法备案、大模型备案和登记的区别,双备案又是什么?
开头附上完整阅读链接:AI合规 I 算法备案、大模型备案和登记的区别,双备案又是什么?https://mp.weixin.qq.com/s/QjjnWhbeDvPGduz31O49dQ 公司马上要上线一个新的AI产品,但是突然发现:"我好像需要做备案…...
OpenClaw日志分析:千问3.5-35B-A3B-FP8任务执行问题定位
OpenClaw日志分析:千问3.5-35B-A3B-FP8任务执行问题定位 1. 问题背景与日志分析的价值 上周我在尝试用OpenClaw自动化处理一批技术文档时,遇到了任务频繁中断的问题。当时对接的是千问3.5-35B-A3B-FP8模型,系统提示"模型响应异常"…...
STM32危化品管理系统设计与实现
1. 项目背景与需求分析实验室危化品管理一直是科研机构面临的重要挑战。传统的人工记录方式存在效率低下、容易出错、无法实时监控等问题,尤其对于易燃、易爆或有毒化学品的管理更是隐患重重。我曾参与过多个高校实验室的安全改造项目,亲眼见过因管理不善…...
国内专业的铣打机厂家哪家专业
在制造业蓬勃发展的今天,铣打机作为轴类零件加工的关键设备,其性能和质量直接影响着生产效率和产品质量。面对市场上众多的铣打机厂家,该如何选择一家专业可靠的呢?今天就为大家介绍一家在行业内颇具口碑的企业——无锡通亚数控智…...
