mac osx使用80端口(使用nginx解决)
起因:
开发中,eclipse中无法使用80端口(因mac 本身已经占用了80端口),导致调试项目的时候,需要使用8080端口调试,不是很方便,所以,想到使用nginx做代理,然后做转发到8080端口。
思路:
无非就那么几种:
1、干掉80端口的占用程序,直接让tomcat占用
2、端口转发,将80端口转发到其他端口上(mac上的ipfw)
3、第三方的代理软件(eg:nginx)
纠结:
前两种方式尝试了很多次,木有成功。。。。中间百度gogole了很多次,网上有很多文章介绍如何使mac开放80端口,但是。。。然并卵(PS:至少在我的电脑上木有管用),具体可以百度尝试。
解决办法:
1、安装nginx
2、设置nginx转发
1、Download latest PCRE. (地址:http://www.pcre.org/)
2、安装
cd ~/Downloads tar xvzf pcre-8.42 cd pcre-8.42 sudo ./configure --prefix=/usr/local sudo make sudo make install
安装Nginx
2、安装
$ cd ~/Downloads tar xvzf nginx-1.14.0.tar.gz cd nginx-1.14.0 sudo ./configure --prefix=/usr/local/nginx --with-cc-opt="-Wno-deprecated-declarations" sudo make sudo make install
4、停止
sudo nginx -s stop
后面就是配置nginx,监听80端口,然后跳转到8080端口,
eg:
server { listen 80; server_name sample.so; add_header Cache-Control private; charset utf-8; fastcgi_intercept_errors on; location / { proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_intercept_errors on; } }
在mac上装好nginx环境,想设为开机自动启动。但是linux上的方式不适用于mac。只能利用Mac系统里的Launchctl来做这个事。
1、新建文件
sudo vim /Library/LaunchDaemons/com.nginx.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.nginx.plist</string> <key>ProgramArguments</key> <array> <string>/usr/local/nginx/sbin/nginx</string> </array> <key>KeepAlive</key> <false/> <key>RunAtLoad</key> <true/> <key>StandardErrorPath</key> <string>/usr/local/nginx/logs/error.log</string> <key>StandardOutPath</key> <string>/usr/local/nginx/logs/access.log</string> </dict> </plist>
2、修改权限
sudo chmod 644 /Library/LaunchDaemons/com.nginx.plist
3、注册为系统服务
sudo launchctl load -w /Library/LaunchDaemons/com.nginx.plist # 以下为卸载 sudo launchctl unload -w /Library/LaunchDaemons/com.nginx.plist
4、重启后查看nginx是否启动
ps -ef | grep nginx
0 169 1 0 3:07下午 ?? 0:00.00 nginx: master process /usr/local/nginx/sbin/nginx 0 170 169 0 3:07下午 ?? 0:00.00 nginx: worker process 501 928 399 0 3:43下午 ttys000 0:00.00 grep nginx
相关推荐
夜雨倚琴 2020-09-06
ljlxyf 2020-06-14
LiHansiyuan 2020-06-06
jackadmi 2020-05-07
Antech 2020-05-04
Vampor 2020-04-17
leodengzx 2020-04-16
xcznb 2020-01-06
LandryBean 2020-01-06
jmdvirus 2013-07-22
hithyc 2019-12-28
cheidou 2015-01-15
liuyanwuyu 2015-04-24
89421950 2015-08-03
在旅途 2019-11-08
xiongli 2015-05-18
royrui 2015-06-10
liweihui 2008-03-28