MAC使用nginx分发80至8080端口

一、问题背景

由于项目本身的原因,开发必须使用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直接访问。

四、分发效果






猜你喜欢

转载自blog.csdn.net/jxq0816/article/details/79751256