Mac使用Nginx设置代理,并禁用自带Apache

Mac自带Apache服务,并占用80端口,如果需要使用Nginx,需要禁用Apache并自己安装Nginx

一、禁用自带Apache

1.关闭Apache

bash 复制代码
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配置目录:

bash 复制代码
vim /etc/apache2/httpd.conf

(2) 搜索:#ServerName www.example.com:80

增加一行 ServerName localhost:80

(3) 重新启动Apache

bash 复制代码
sudo apachectl restart

(4) 关闭Apache

bash 复制代码
sudo apachectl -k stop

2.禁止apache自启动

bash 复制代码
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

二、使用 Homebrew 安装 Nginx

在 macOS 上使用 Homebrew 安装 Nginx 时,Nginx 的默认安装目录通常是 /usr/local/Cellar/nginx/。具体的安装路径可以通过以下命令查看:

bash 复制代码
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:

bash 复制代码
brew install nginx

3. 启动和管理 Nginx

安装完成后,可以使用以下命令启动、停止和重启 Nginx:

bash 复制代码
# 启动 Nginx

brew services start nginx

# 停止 Nginx

brew services stop nginx

# 重启 Nginx

brew 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

bash 复制代码
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 配置是否正确(如果不确定配置是否正确这个命令很有效):

bash 复制代码
nginx -t

(2)如果配置正确,重启 Nginx 以应用更改:

bash 复制代码
brew services restart nginx

三、生成 ssl/自签名 证书

在你指定的文件夹中打开命令行工具

bash 复制代码
# 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

相关推荐
东荷新绿36 分钟前
【运维开发】acme.sh 安装|签发泛域名SSL证书,宝塔Nginx部署+自动续期
nginx·腾讯云·运维开发·ssl·宝塔·acme.sh
码农阿豪11 小时前
【金仓数据库征文】Mac开发环境|SpringBoot3 + MyBatisPlus对接KES V9 Docker实战全指南
数据库·macos·docker
是良辰21 小时前
Docker Nginx HTTPS 自签证书部署完整操作文档
nginx·docker·https
赶路人儿1 天前
MacOS 下实现 AI 操控电脑(Computer Use)的思考
人工智能·macos·策略模式
天空'之城1 天前
VMware17.5.0安装macOS13.7.8|Xcode15.0.1+Qt6.5.3开发环境搭建完整教程
macos·虚拟机·vmware tools
00后程序员张1 天前
使用Instruments工具深入分析iOS应用性能与启动时间优化
android·macos·ios·小程序·uni-app·cocoa·iphone
2601_960906721 天前
AI研发加速中式及泛亚洲
人工智能·vscode·macos·sublime text·phpstorm
難釋懷1 天前
Nginx外置缓存-redis2-nginx-module
nginx·缓存·junit
sg_knight1 天前
Codex CLI 安装全攻略:macOS / Linux / Windows(WSL2)三端实战
linux·windows·macos·openai·ai编程·coding·codex
凡尘——雨落凡尘2 天前
PHP 线上十大隐形故障复盘:90% 的网站卡顿、502、雪崩,都是这些细节导致的
redis·nginx·php·session