使用 Apache Ubuntu 14.04 安装 Nginx

now*_*iko 2 apache2 nginx 14.04

我安装了 Nginx,但我也有 Apache。我如何运行 Nginx?当我转到我的 IP 时,我正在获取/var/www/目录。我已经尝试在互联网上解决问题,但仍然无法理解我做错了什么。

有人可以帮助我吗?

mat*_*l87 6

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

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

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

更改 nginx 的端口

打开nginx默认站点:

cd /etc/nginx/sites-available
sudo cp default default.bak
sudo nano default
Run Code Online (Sandbox Code Playgroud)

server下侦听线路上的端口从 80 更改为 81:

…
server {
    listen 81 default_server;
    listen [::]:81 default_server ipv6only=on;
…
Run Code Online (Sandbox Code Playgroud)

保存并退出纳米。

为 Apache 启用所需的模块

sudo a2enmod proxy_http
Run Code Online (Sandbox Code Playgroud)

设置虚拟主机

cd /etc/apache2/sites-available
sudo nano nginx.conf
Run Code Online (Sandbox Code Playgroud)

将其粘贴到 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>
Run Code Online (Sandbox Code Playgroud)

请注意上面文件中的 ServerName 和 ServerAlias。如果您有一个,请将它们更改为您想要的域。

保存并退出纳米。

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

sudo nano /etc/hosts
Run Code Online (Sandbox Code Playgroud)

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

# nginx
127.0.0.1       nginx.localhost
Run Code Online (Sandbox Code Playgroud)

现在在 Apache 上启用 nginx:

sudo a2ensite nginx
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

在浏览器中查看

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

一些注意事项