技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

Ubuntu中Nginx服務(wù)器安裝配置教程

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2019-04-05 12:18┆點擊:

  Nginx是一個非常輕量級的HTTP服務(wù)器,也是一個高性能的HTTP和反向代理服務(wù)器,同時還是一個IMAP/POP3/SMTP 代理服務(wù)器。

  1.對PHP支持

  目前各種web 服務(wù)器對PHP的支持一共有三種:

  (1)通過web 服務(wù)器內(nèi)置的模塊來實現(xiàn),例如Apache的mod_php5,類似的Apache內(nèi)置的mod_perl可以對perl支持。

  (2)通過CGI來實現(xiàn),這個就好比之前perl的CGI,該種方式的缺點是性能差,因為每次服務(wù)器遇到這些腳本都需要重新啟動腳本解析器來執(zhí)行腳本然后將結(jié)果返回給服務(wù)器;另一方面就是不太安全;該方面幾乎很少使用了。

  (3)最新出現(xiàn)一種叫做FastCGI。所謂FastCGI就是對CGI的改進(jìn)。它一般采用C/S結(jié)構(gòu),一般腳本處理器會啟動一個或者多個daemon進(jìn)程,每次web 服務(wù)器遇到腳本的時候,直接交付給FastCGI的進(jìn)程來執(zhí)行,然后將得到的結(jié)果(通常為html)返回給瀏覽器。

  1.1 Apache+mod_php模式

  我們很久一段時間使用經(jīng)典的Apache+mod_php。

  Apache對PHP的支持是通過Apache的模塊來支持的。如果從源代碼編譯安裝PHP的話,如果希望Apache支持PHP的話,

  在./configure步驟需要指定--with-apxs2=http://www.3lian.com/usr/local/apache2/bin/apxs 表示告訴編譯器通過Apache的mod_php5/apxs來提供

  對PHP5的解析;而且在最后一步make install的時候我們會看到將動態(tài)鏈接庫libphp5.so拷貝到apache2的安裝目錄的modules目錄

  下,并且還需要在httpd.conf配置文件中添加LoadModule語句來動態(tài)將libphp5.so 模塊加載進(jìn)來,從而實現(xiàn)Apache對php的支持。

  1.2 Nginx+FastCGI模式

  Nginx完全是輕量級的,必須借助第三方的FastCGI處理器才可以對PHP進(jìn)行解析,因此其實這樣看來Nginx是非常靈活的,它可以

  和任何第三方提供解析的處理器實現(xiàn)連接從而實現(xiàn)對PHP的解析(在nginx.conf中很容易設(shè)置)。

  Nginx可以使用spwan-fcgi。在早期版本中需要安裝lighttpd,但是在9.10版本以后直接安裝spawn-fcgi就可以?,F(xiàn)在出現(xiàn)了新的

  第三方的PHP的FastCGI處理器,叫做PHP-FPM,可以了解一下。本文是基于spawn-fcgi實現(xiàn)對PHP模塊的支持。

  1.3安裝FastCGI

  /usr/bin/spawn-fcgi這個文件來管理 FastCGI,它原屬于lighttpd這個包里面,但 9.10 后,spawn-fcgi 被分離出來單獨成包。

  (1)使用apt-get在線安裝命令如下:

  $sudo apt-get install spawn-fcgi

  (2)源代碼安裝如下,下載地址為:

  

  解壓縮以后,進(jìn)入目錄下執(zhí)行如下安裝命令:

  $./configure

  $make

  $make install

  安裝之后,spawn-fcgi命令就可以直接使用了,它的可執(zhí)行文件在/usr/local/bin/spawn-fcgi。

  2.Nginx安裝

  2.1安裝Nginx

  (1)在線安裝

  $sudo apt-get install nginx

  Nginx的版本是1.2.1

  ubuntu安裝Nginx之后的文件結(jié)構(gòu)大致為:

  所有的配置文件都在/etc/nginx下,并且每個虛擬主機(jī)已經(jīng)安排在了/etc/nginx/sites-available下

  啟動程序文件在/usr/sbin/nginx

  日志放在了/var/log/nginx中,分別是access.log和error.log

  并已經(jīng)在/etc/init.d/下創(chuàng)建了啟動腳本nginx

  默認(rèn)的虛擬主機(jī)的目錄設(shè)置在了/usr/share/nginx/www

  (2)源代碼安裝

  下載地址:

  我這里下載的是 nginx-1.3.9.tar.gz,安裝過程很簡單,如下:

  $./configure

  $make

  $make install

  安裝成功之后,nginx放置在/usr/local/nginx目錄下,主要的配置文件為conf目錄下的nginx.conf,nginx的啟動文件在sbin目錄

  下的nginx文件。

  2.2啟動Nginx

  (1)在線安裝的啟動過程

  $sudo /etc/init.d/nginx start

  (2)源代碼安裝的啟動過程

  $cd /usr/local/nginx

  $sbin/nginx

  然后就可以訪問了,, 一切正常!如果不能訪問,先不要繼續(xù),看看是什么原因,解決之后再繼續(xù)。

  如果你的機(jī)器同時安裝了Apache,那上面的訪問方式就不能使用了,而且nginx都可能啟動不了,這是因為它們都是用了80這個端口。我們這里將nginx的端口修改為8080,這里主要修改nginx的配置文件nginx.conf,將一下這一行

  listen 80;

  修改為

  listen 8080;

  然后就可以訪問了,:8080/。

  23安裝PHP和MySQL

  $sudo apt-get install php5-cliphp5-cgimysql-server php5-mysql

  2.4測試Nginx對PHP的支持

  (1)重新啟動nginx:

  $/etc/init.d/nginx restart

  (2)啟動FastCGI:

  $spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi

  spawn-fcgi啟動出現(xiàn)錯誤時,查看php-cgi是否安裝,如果么有的話,安裝php5-cgi。

  $sudo apt-get install php5-cgi

  (3)測試

  打開

  3.Nginx配置

  Nginx的配置文件是/etc/nginx/nginx.conf,其中設(shè)置了一些必要的參數(shù),我們發(fā)現(xiàn)其中這樣的語句:

  include /etc/nginx/sites-enabled/*