Mac使用Nginx设置代理并禁用自带Apache的问题记录
作者:CoreyWang
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:
# 启动 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
:
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使用Nginx内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!