前一段時間 我告訴你有關這一系列教程的信息,介紹如何安裝和配置用於高要求託管的服務器。 本文將介紹有關安裝和配置Nginx的信息:
Nginx的:
我們之前已經在文章中告訴過您有關Nginx的信息 Nginx:Apache的有趣替代品, ahí les comentamos que es un servidor web como Apache, LightHttpd o Cherokee, pero que comparado con Apache destaca por su rendimiento y bajo consumo de hardware, precisamente por eso es que muchos sitios grandes como Facebook, MyOpera.com, DropBox o inclusive WordPress.com usan Nginx en vez de Apache. En el mundillo de Linux DesdeLinux no es el único que usa Nginx, hasta donde sé, emsLinux y MuyLinux también lo usan 🙂
我在Nginx上的親身經歷可以追溯到幾年前,當時我出於必要而開始尋找Apache的輕量級替代品。 當時Nginx打算使用0.6版,並且它與用PHP製作的高需求站點的兼容性不是最佳的,但是從現在的0.9版開始(Debian Stable提供v1.2.1,ArchLinux提供v1.4.2)有了很大的改進,以至於通過適當的配置和Nginx + PHP的結合,一切都將像魅力一樣。
在本教程系列中 我將使用Nginx版本1.2.1-2.2,可在Debian Stable repos(Wheezy)中找到。
1.安裝:
我們將從第一件事開始,從我們的存儲庫安裝Nginx。
如果在服務器上使用終端中的發行版(例如Debian,Ubuntu或某些衍生產品),則必須輸入以下內容並按 Enter :
aptitude install nginx
如果您在服務器上使用其他發行版,例如CentOS,Red Hat,Fedora,只需安裝軟件包:官方存儲庫中的nginx
2.配置:
Ya tenemos instalado Nginx, pero necesitamos obviamente configurarlo. Les he preparado un archivo comprimido en el FTP el cual contiene todas las configuraciones que se usan en los servidores de DesdeLinux, tanto para PHP, Nginx, etc. Vamos a descargar y descomprimir ese archivo:
cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
這將創建一個名為nginx-spawn-fastcgi的文件夾,從中我們將需要兩個文件用於純Nginx(即,不將其鏈接到PHP):
- nginx.conf-»主要的Nginx配置文件(我們稍後將討論其內容)
- index.html-»一個簡單的html文件,我們將使用它查看Nginx是否以其最基本的形式對我們真正起作用
- mywebsite.net-»簡單網站的配置文件,一個VHost(虛擬主機),它將配置對前一個html的訪問
我們首先移至Nginx設置文件夾:
cd /etc/nginx/
然後,讓我們刪除其默認配置並放入我們自己的:
mv nginx.conf nginx.conf_BK && cp ~/nginx-spawn-fastcgi/nginx.conf ./
正如我所說的,這是主要的Nginx配置文件,在其中我已經定義了以下內容:
用戶www-data; worker_processes 4; pid /var/run/nginx.pid;
用戶對文件系統的訪問(nginx將使用該文件系統在任何地方訪問),要使用的進程數以及PID(nginx進程ID)。
我們還有一個稱為事件(事件的設置)的小塊,其中包含一行指示每個事件允許的最大連接數。 下面是稱為http的塊。
這個http塊幾乎包含與託管相關的所有內容,至少包含您感興趣的許多內容。 例如,最長生存時間或等待時間(超時),即我們的常規日誌為(access.log和error.log),使用gzip進行數據壓縮以及其他將來可能有用的規則。
一旦主配置文件到位,讓我們將文件從VHost複製到sites-available文件夾
cp ~/nginx-spawn-fastcgi/mywebsite.net sites-available/
此外,我們必須從該文件到啟用了站點的文件夾建立符號鏈接。
ln -s /etc/nginx/sites-available/mywebsite.net /etc/nginx/sites-enabled/
我將說明啟用站點和站點可用的有用性。
他們會發現必須準備好幾個虛擬主機文件並進行配置的時刻,因為它們將在該服務器上聯機(例如5個站點)。 但是,碰巧還不是時候啟用這2個虛擬主機中的5個,但是它們必須已準備好文件,以便在必要時可以在最短的時間內使它們聯機。 您可以在站點可用(sites-available)中放置任意數量的虛擬主機,因為Nginx讀取的虛擬主機僅是啟用站點(啟用站點)的虛擬主機,它也可以在相反的方向上工作,如果您要使網站(例如暫時)處於脫機狀態,則無需從服務器中刪除文件(我們有時需要的文件),我們只需刪除啟用了站點的符號鏈接即可。 具有符號鏈接而不是簡單地將文件從一個文件夾複製到另一個文件夾的實用程序是,當我們要編輯虛擬主機時,是否編輯位於啟用或可用中的虛擬主機並不重要,最後還是一樣
存檔。
如我之前所說,文件mywebsite.net是一個虛擬主機,也就是說,我們必須修改mywebsite.net並建立我們的配置。
我們必須更改以下內容:
- access_log(第3行):這將是此站點的訪問日誌文件的路徑
- error_log(第4行):這將是錯誤日誌文件到此站點的路徑
- server_name (línea 5): La URL, dominio que está hosteado en esa carpeta, por ejemplo, si se tratase del foro de DesdeLinux sería: server_name foro.desdelinux淨
- 根目錄(第6行):html文件所在的文件夾的路徑,我們將其保留在/ var / www /中,因為這只是一個測試
現在,我們只需要將html文件複製到我們在VHost文件中定義的文件夾/ var / www /:
mkdir /var/www/ && cp ~/nginx-spawn-fastcgi/index.html /var/www/
然後,我們重新啟動Nginx就是這樣:
service nginx restart
瞧,這樣的事情會出現:
我提醒您,我們首先使用Nginx for HTML,而沒有PHP支持,此安裝PHP並將其鏈接到Nginx將成為下一個教程的內容(我保證,幾天之內)。
無論如何,這是Nginx的安裝和配置教程,因此它可以純工作,即HTML站點,希望您對此感興趣。
我會澄清,是的,仍然有一些最佳實踐可以使用,但是讓我們等待完成本系列教程,然後我們將評估工作的最終結果😉
問候
謝謝,非常有幫助!
謝謝你的評論
在backport中有nginx 1.4 ..
是的,但是在生產中的服務器上,我不使用任何一個😀
“那”是指nginx發布的最新穩定和經過測試的版本,聽起來像是sid的apt-pining。 〜_〜
哦,拜託,是...在我從未喜歡過的服務器上使用其他存儲庫,反向移植或類似的東西🙂
我一直在服務器上保持穩定,幾年前就知道了。
Nginx 1.4自去年1.4.1月以來一直穩定,在反向移植中為3-XNUMX。
2013-04-24
nginx-1.4.0穩定版已發布,其中包含在1.3.x分支中開發的許多新功能-支持WebSocket連接代理,OCSP裝訂,SPDY模塊,gunzip過濾器等。
http://nginx.org/en/CHANGES-1.4
你說的對,我的帽子沒了。
感謝您的分享,我目前正在將您最早的帖子付諸實踐。
我要向您提問XD
感謝您閱讀🙂
Cualquier duda o pregunta ya sabes, estamos para ayudar, ahí tienes el foro.desdelinux.net donde entre todos te intentaremos dar la mejor solución
問候
我有一個問題,我的服務器上運行的LAMP(Linux(Debian Wheezy),Apache,PHP和MySQL)適用於WordPress和Owncloud,如何遷移到Ngnix,另一個問題是Ngnix和Lighttpd有什麼區別。
從Apache遷移到Nginx的最大麻煩或困難是每個站點的配置,即您所使用的.htaccess。
當切換到Nginx時,.htaccess是最複雜的,因為它們是您必須在Nginx VHost中放置的不同配置。
關於LightHTTPd和Nginx ...我不知道,很多年前我只使用過一次LightHTTPd,目前我還不知道它的發展如何,特別是使用PHP。
與Apache相比,NGINX看起來非常簡單。 等待下一個情節能夠用PHP進行補充
我正在等待提示,以便對nginx進行更多優化
順便說一下,Gaara可以在您的下一個教程中介紹如何實現SSL支持。
問候。
Los tips que vienen son en realidad para optimizar el procesamiento PHP, caché a sitios, puedo poner el ejemplo de la configuración que usamos en DesdeLinux para Nginx+Wordpress+W3_Total_Cache 🙂
謝謝您的貢獻。
以及什麼時候用於archlinux的指南? xD
在Arch中,它非常相似,只改變了軟件包的名稱,但是... conf幾乎相同
但是誰擁有帶有Arch的生產服務器? 😀
你好,
還是我xD ...
我正在按照您的步驟在使用archlinux的計算機上應用它們,但遇到以下問題:
[abr4xas@Genius www]$ systemctl status nginx.service
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since vie 2013-11-15 20:11:35 VET; 1min 13s ago
Process: 1258 ExecStartPre=/usr/bin/nginx -t -q -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=1/FAILURE)
有什麼建議😀
Jo…xox,我只想要一個內部服務器,也就是說,我只想替換xampp,我應該做所有這一切嗎?
如果您願意,您可以實現這一點(我重複一遍,這是DL的工作方式),實際上,我的虛擬服務器(我用於開發和測試)已經用我解釋的相同方法完成了。
也就是說,您可以刪除XAMPP並放入此變體,它會正常工作,或者如果您想離開XAMPP ...,它仍然可以為您工作。
我所展示的使用它的積極點在於,與Apache相比,硬件的消耗非常低,但是,在您的個人計算機上,它並不是一個高要求的託管服務器,而與之相距甚遠……如果XAMPP對您有效,那麼我不會看看為什麼要刪除它🙂
我已經在運行Linux服務器(Debian,Nginx,MySQL和PHP),因為我習慣了簡單的Apache Web服務器,所以很難使PHP與Nginx一起使用。
我的問題是:是否有人知道如何將我購買的測試域指向服務器? 我想嘗試.com域以了解其工作原理,但是我絲毫不知道如何進行操作,因為我一直使用NOIP地址通過noip DUC訪問它。
希望有人能幫助我,謝謝!
當嘗試連接到您的ftp時出現此錯誤:
cd〜&& wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz
HTTP請求已發送,正在等待響應…找不到404
2015-11-23 17:46:30錯誤404:找不到。
我的服務器在CentOS上運行(Gunicorn,Nginx,PHP),這使我花了很多時間才能使它們工作,但是我遇到的問題是我要啟動的網頁需要在此配置域提供程序案例Go Daddy,所以目前我不知道該如何繼續。
您能不能與我共享配置文件,因為我無法下載它們