MAC使用nginx分发80至8080端口

本文由 简悦 SimpRead 转码, 原文地址 cloud.tencent.com

由于项目本身的原因,开发必须使用 80 端口实现,而在 MAC 系统中非 Root 用户无法直接使用 1024 以下的端口

一、问题背景

由于项目本身的原因,开发必须使用 80 端口实现,而在 MAC 系统中非 Root 用户无法直接使用 1024 以下的端口

二、首先释放 Apache 服务 80 端口

由于 Mac OS 是自带 Apache 服务的,它本身占用了 80 端口,首先你需要将 Apache 的监听端口改为其他或者直接将其卸载,作者是改掉它的监听端口为 8011。

sudo vim /etc/apache2/httpd.conf

改动之后,将其重启 sudo /usr/sbin/apachectl restart

到这里,你已经将 80 端口释放掉了。

sudo lsof -i :80

查看端口占用状况

三、使用 Nginx 分发 80 端口至 8080 端口

1、使用 Homebrew 安装库

brew search nginx
brew install nginx

2、这样安装好之后,修改配置

sudo vim /usr/local/etc/nginx/nginx.conf

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
	    proxy_pass http://127.0.0.1:8080;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
           root   html;
        }
    }

复制

server 下的结点:

  • listen:监听 80 端口
  • server_name:转发到哪个地址
  • proxy_pass:代理到哪个地址

3、Nginx 开机启动

其次你需要了解的就是 plist 文件。plist 就是 property list format 的意思,是苹果用来保存应用数据的格式,其实就是个 xml。可以在 / usr/local/opt/nginx 下找到 nginx 对应的 plist 文件,比如在作者电脑上是 homebrew.mxcl.nginx.plist 。

需要把这个文件复制到 /Library/LaunchDaemons 下,系统启动时启动。 也可以复制到 /Library/LaunchAgents 下,在用户登录时启动。  接着执行 launchctl load -w,如下:

sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons

sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

复制

最后,重启你的机器,你会发现 nginx 在 80 端口启动了,试着通过 http://localhost 直接访问。

四、分发效果

posted @ 2023-01-30 13:09  JIeJaitt  阅读(376)  评论(0编辑  收藏  举报