Nginx Go Revel框架端口9000已在使用中
在运行测试应用程序之前,我一直遵循以下步骤:Nginx Go Revel框架端口9000已在使用中,nginx,go,localhost,port,revel,Nginx,Go,Localhost,Port,Revel,在运行测试应用程序之前,我一直遵循以下步骤: $revel运行myapp 这给了我所有正确的输出,但也给出了以下错误: ERROR 2013/09/30 19:51:41 harness.go:167: Failed to start reverse proxy: listen tcp <nil>:9000: address already in use 我有一个PHP-NGINX应用程序在端口80上运行,我不想失去它,但不知道这是否意味着这个PHP应用程序正在阻止我的Go应用程
$revel运行myapp
这给了我所有正确的输出,但也给出了以下错误:
ERROR 2013/09/30 19:51:41 harness.go:167: Failed to start reverse proxy: listen tcp
<nil>:9000: address already in use
我有一个PHP-NGINX应用程序在端口80上运行,我不想失去它,但不知道这是否意味着这个PHP应用程序正在阻止我的Go应用程序运行
有人能插话吗
我正在运行MacOS X 10.7.5 您可以使用以下任一方法更改revel应用程序的端口:
config/app.conf
文件和设置
http.port = 8888
dev
或prod
来说明您的环境:
revel run myapp dev 8888
建议使用lsof检查此端口上已运行的进程:
lsof -i :9000
有时,您会看到您的系统上未安装lsof,然后首先安装lsof:
sudo apt-get install lsof
若相同的应用程序在此端口上运行,则应终止进程并重新启动:
kill -9 PORT
如果此端口上正在运行其他进程,则应按照@Vanessa的建议更改默认端口。您也可以尝试运行
ps -A | grep revel
您的revel应用程序可能仍在运行。如果是的话,你可以用
kill PID
看起来您正在运行Nginx/PHP FPM,它将使用端口9000进行FPM进程通信 您可以在PHP-FPM配置中将其更改为其他端口或使用本地套接字(如果Nginx和PHP安装在同一台机器上,则更好),但请确保更新Nginx站点定义以反映此更改 对于PHP,请在PHP-fpm.conf中搜索listen指令:
; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
; a specific port;
; 'port' - to listen on a TCP socket to all addresses on a
; specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000
fastcgi_pass 127.0.0.1:9000;
在Nginx中,更新fastcgi_pass指令:
; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
; a specific port;
; 'port' - to listen on a TCP socket to all addresses on a
; specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000
fastcgi_pass 127.0.0.1:9000;
重新启动Nginx和PHP-FPM,您应该能够再次绑定到端口9000。为什么不使用app.conf或
revel运行myapp dev 888来更改revel应用程序的端口呢?
?这很有效!请随意将其作为答案发布,我将对此进行投票。