簡體   English   中英

如何在 Ubuntu 上同時運行 nginx 和 Apache?

[英]How can I run both nginx and Apache together on Ubuntu?

我想將 Apache 和 nginx 配置為在 Ubuntu 上一起運行,因為我想在 nginx 和 Apache 上進行開發。 我讀過我必須在 Apache 或 nginx 上編輯配置,以使其中一個在另一個端口而不是 80 上運行。

我應該在 Nginx 中編輯哪些文件以使其通過另一個端口運行?

轉到/etc/nginx/sites-available然后修改應該偵聽不同端口的主機文件(如果您沒有在這里更改任何內容,您會找到一個default文件,輸入更改它)

在文件中將listen: 80改為你要監聽的端口

不要忘記重新加載服務: service nginx reload

最好讓apache在不同的端口上偵聽並指示nginxnginx提供靜態文件的同時將動態流量反向代理到您的apache

對於/etc/apache2/ports.conf中的 apache,包括:

Listen 8080

有關詳細信息,請參閱: https ://serverfault.com/questions/92943/server-has-apache-installed-how-to-install-nginx-alongside-it

這是如何將 Apache 和 NGINX 安裝在同一個 80 端口(在 localhost 上)的答案。

假設您同時安裝了 NGINX 和 Apache...

1.為每一個選擇不同的IP地址。

讓我們設置hosts文件以便快速訪問起始頁。

sudo nano /etc/hosts

附加行(使用您喜歡的任何本地 IP)

127.0.0.1   nginx
127.0.0.2   apache

2.為NGINX設置監聽IP和端口

NGINX 必須只監聽一個 IP 地址。

sudo nano /etc/nginx/sites-enabled/default

並替換行

---(刪除行) +++(添加行)

--- listen 80 default_server;
--- listen [::]:80 default_server;
+++ listen nginx:80;

如果你想使用 SSL,對 443 端口做同樣的事情。

重要的!

確保所有啟用的 NGINX 網站都在 nginx:80 上偵聽

重啟 NGINX

sudo service nginx restart

使用命令sudo netstat -tulpn | grep :80進行檢查sudo netstat -tulpn | grep :80

tcp        0      0 127.0.0.1:80            0.0.0.0:*               LISTEN      26540/nginx: master

完畢! 現在您可以通過 url http://nginx訪問默認的 NGINX 主機

3. 為 Apache 設置監聽 IP 和端口

Apache 也必須只監聽一個 IP 地址。

端口:

sudo nano /etc/apache2/ports.conf

並替換行

---(刪除行) +++(添加行)

--- Listen 80
--- Listen 443
+++ Listen apache:80
+++ Listen apache:443

默認虛擬主機:

sudo nano /etc/apache/sites-enabled/000-default

並替換行

---(刪除行) +++(添加行)

--- <VirtualHost *:80>
+++ <VirtualHost apache:80>

如果你想使用 SSL,對 443 端口做同樣的事情。

重要的!

確保所有啟用的 Apache 網站都在 apache:80 上監聽

重啟阿帕奇

sudo service apache2 restart

使用命令sudo netstat -tulpn | grep :80進行檢查sudo netstat -tulpn | grep :80

tcp        0      0 127.0.0.2:80            0.0.0.0:*               LISTEN      26829/apache2

完畢! 現在您可以通過 url http://apache訪問默認的 Apache 主機

所以我遇到了類似的問題,我在 Ubuntu 14.04 上運行了 Apache,我必須在 Apache 旁邊安裝 nginx,所以在安裝 nginx 之后,我將 ngnix 服務器的偵聽端口從默認的 80 更改為 81,它按照以下說明完成了魔法實現這一目標

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

在這里更改端口。

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

保存它並退出 nano 然后重新啟動 ngnix

sudo service nginx restart

在瀏覽器中http://localhost:81你的服務器已經啟動

`

如果 apache 在port 80上運行,那么您必須更改 apache 偵聽端口或 nginx 偵聽端口。

更改 nginx 監聽端口:

使用 nano 或您選擇的任何文件編輯器打開/etc/nginx/sites-available/default文件,然后更改這兩行

 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on;

 listen 8000 default_server;
 listen [::]:8000 default_server ipv6only=on;

如果port 8000未綁定到任何其他服務。

然后使用service nginx reload加載 nginx

我通過更改 apache ports.conf 文件中的端口解決了這個問題

您可以通過以下方式對其進行編輯:

sudo nano /etc/apache2/ports.conf

如果您想更改 nginx 的端口,則只需在站點可用的文件中更改它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM