Sil*_*all 25 apache ubuntu-11.10
当我尝试在Ubuntu中启动Apache时,我收到此错误.
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
Run Code Online (Sandbox Code Playgroud)
我在ports.conf中有这个
NameVirtualHost *:80
Listen 80
Run Code Online (Sandbox Code Playgroud)
这是我的vhost文件
<VirtualHost *:80>
ServerAdmin example@example.com
ServerName rails.server.com
# ServerAlias
DocumentRoot /var/www/sample_app/current/public
ErrorLog /var/www/sample_app/error.log
RailsEnv production
<Directory "/var/www/sample_app/current/public">
Options Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
pin*_*nku 54
netstat -ltnp | grep :80
Run Code Online (Sandbox Code Playgroud)
这将返回以下内容:
tcp6 0 0 ::: 80 :::*LISTEN 1047/apache2
然后运行以下命令:
sudo kill -9 1047
Run Code Online (Sandbox Code Playgroud)
(1047 - pid no)
(出现在您的特定实例上的pid.)
重启Apache.
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
参考Ubuntu论坛.
小智 12
在所有情况下,杀死进程可能不起作用,因为使用端口80的进程将重新启动并且不允许使用该端口.所以可以做的是更改apache的端口,如果这无关紧要的话.
有两件事需要改变:
/etc/apache2/ports.conf使用任何文本编辑器打开,并将条目的值更改Listen 80为所需的端口(例如Listen 8080).
将条目更改为<virtualhost 80>您在/etc/apache2/ports.conf文件中给出的相同端口号/etc/apache2/sites-enabled/000-default(例如<virtualhost 8080>).
确保您Listen 80在多个位置没有该命令.
在我的情况下,我得到了同样的错误,原因是这个命令都在ports.conf和sites-enabled/000-default中.
sudo netstat -tulpn| grep :80
Run Code Online (Sandbox Code Playgroud)
pkill进程(nginx?)
禁用任何您不希望绑定到端口 80 的虚拟主机(nginx?)。它位于 /etc/nginx/sites-enabled 或 /etc/apache2/sites-enabled 中
小智 5
在我的情况下它是nginx(因为我在我的服务器上有它).
sudo service nginx stop
sudo service apache2 start
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60224 次 |
| 最近记录: |