使用 Apache Ubuntu 14.04 安装 Nginx

使用 Apache Ubuntu 14.04 安装 Nginx

我安装了 Nginx,但我也有 Apache。我该如何运行 Nginx?当我访问我的 IP 时,我得到的是/var/www/目录。我已经尝试在互联网上找到解决方法,但仍然不知道我做错了什么。

有人能帮助我吗?

答案1

有多种方法可以在同一台机器上同时运行 Apache 和 nginx。

这里有一种方法:假设您在 Ubuntu/Debian 上安装了 Apache 和 nginx,请按照这些说明进行操作。

最终结果是 Apache 作为“主”服务器,而 nginx 作为 Apache 虚拟主机。

修改 nginx 的端口

打开nginx默认站点:

cd /etc/nginx/sites-available
sudo cp default default.bak
sudo nano default

更改监听行下的端口服务器从 80 到 81:


server {
    listen 81 default_server;
    listen [::]:81 default_server ipv6only=on;

保存并退出 nano。

启用 Apache 所需的模块

sudo a2enmod proxy_http

设置虚拟主机

cd /etc/apache2/sites-available
sudo nano nginx.conf

将其粘贴到 nano 中:

<VirtualHost *:80>

    # (optional) Set a ServerName:
    # ServerName nginx.mydomain.com

    # Set the below line to your desired subdomain:
    ServerAlias nginx.*

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    ProxyRequests Off
    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>

    # Forward requests to nginx (port 81)
    ProxyPass / http://127.0.0.1:81/
    ProxyPassReverse / http://127.0.0.1:81/

</VirtualHost>

记下上述文件中的 ServerName 和 ServerAlias。如果有的话,请将它们更改为所需的域。

保存并退出 nano。

如果您没有域名和/或只想在本地运行,请打开 /etc/hosts:

sudo nano /etc/hosts

然后在底部添加这两行(您可以将 nginx.localhost 更改为您想要的):

# nginx
127.0.0.1       nginx.localhost

现在在 Apache 上启用 nginx:

sudo a2ensite nginx
sudo service apache2 restart

在浏览器中查看

http://nginx.localhost(或者您配置的所需域)

几点说明

答案2

如果你想运行 nginx 而不是 apache2,你有两个选择:卸载 apache2 或停止 apache2

卸载 Apache2

sudo apt-get purge apache2*
sudo apt-get autoremove
sudo apt-get autoclean
rm -rfv apache2*

或者你可以直接停止 apache2 服务

sudo service apache2 stop OR sudo service apache2ctl stop

默认 nginx 根文件夹是 /usr/share/nginx/html 或 /usr/share/nginx/www

你也应该启动 nginx 以确保万无一失

sudo service nginx start

netstat -ntlp will show you which port is being used by which service 

相关内容