Ubuntu/Debian上安裝Nginx+php環(huán)境詳細(xì)教程

盡管Apache已經(jīng)占據(jù)半片江山,但很多人仍然在尋找其他的方式去托管他們的站點(diǎn),Apache不只是一個(gè)選擇,其他很多優(yōu)秀的服務(wù)器程序例如lighthttp和nginx也是不錯(cuò)的選擇。本教程將要向您展現(xiàn)如何在Ubuntu操作系統(tǒng)上面安裝,教程同樣適用在Debian,盡管有一點(diǎn)點(diǎn)小差別,但并沒有太大影響。怎么樣,下面我們開始吧。
0.開始注意
為了完成教程中提到的操作,我們假設(shè)您已經(jīng)安裝了一個(gè)基本的Debian或者Ubuntu操作系統(tǒng)。怎么安裝系統(tǒng)這是不同的教程了,這里就不再詳細(xì)說明。本教程主要介紹如何簡(jiǎn)單獲取Nginx+php的運(yùn)行環(huán)境。
1.安裝Nginx
第一步要做的就是從庫中下載,這個(gè)操作是非常簡(jiǎn)單的。
sudo apt-get install nginx
更改默認(rèn)的虛擬站點(diǎn)配置,文件在:
sudo vim /etc/nginx/sites-available/default
一個(gè)漂亮的關(guān)鍵配置是:
server { listen 80; server_name localhost; access_log /var/log/nginx/localhost.access.log; ## Default location location / { root /var/www; index index.php; } ## Images and static content is treated different location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ { access_log off; expires 30d; root /var/www; } ## Parse all .php file in the /var/www directory location ~ .php$ { fastcgi_split_path_info ^(.+.php)(.*)$; fastcgi_pass backend; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } ## Disable viewing .htaccess & .htpassword location ~ /.ht { deny all; } }upstream backend { server 127.0.0.1:9000;}
好了,我們完成到這里,下面我們需要安裝PHP所需要的文件。
2.安裝PHP
很多站點(diǎn)都使用PHP提供動(dòng)態(tài)內(nèi)容,他們可能是一個(gè)wiki一個(gè)博客,或者一個(gè)論壇什么的。
如果你現(xiàn)在運(yùn)行的是Ubuntu,我們首先需要解決兩種不同的deb包,如果你運(yùn)行的是amd64版本,那需要更改i386為amd64
注意:如果是debian則不需要做這些
cd /tmp
wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb
sudo dpkg -i *.deb
再次說明,這個(gè)只需要在Ubuntu上面操作就可以了,如果是最新版本的12.04可以省略掉這個(gè)。
下面剩余部分將在Ubuntu和Debian上面都通用。
我們需要增加APT源來增加deb包,所以我們可以使用php5.3和php-fpm
sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list
更新apt:
sudo apt-get update
下面我們開始安裝PHP(第一部分)
sudo apt-get install php5-cli php5-common php5-suhosin
我們需要安裝命令行,不然接下來就會(huì)出現(xiàn)些小問題
sudo apt-get install php5-fpm php5-cgi
如果你打算使用數(shù)據(jù)庫或者一些需要的模塊(例如:mcrypt,ldap,snmp等)你同樣可以安裝他們。
好了,我們現(xiàn)在已經(jīng)安裝完了nginx和php
一個(gè)注意點(diǎn):如果你使用"php的短標(biāo)記(<?)",你需要在php.ini中開啟(fpm和cli同樣),如果你不改變這些,你將看到代碼以文本的方式顯示。
3.完成
重啟nginx服務(wù)器
sudo /etc/init.d/nginx restart
配置完成php.ini后需要重啟php5-fpm,使用命令
sudo /etc/init.d/php5-fpm restart
全部完成,你可以運(yùn)行了。
4.測(cè)試
我們可以在/var/www中創(chuàng)建一個(gè)index.php的文件,內(nèi)容如下:
<?php phpinfo(); ?>
通過瀏覽器訪問,你可以看到php的一個(gè)大致的信息,如果沒有則說明一些配置錯(cuò)誤,需要重新檢查。
5.問題和最終提示
如果你沒有看到phpinfo,可能會(huì)出現(xiàn)一些錯(cuò)誤,那可以執(zhí)行:
sudo tail /var/log/nginx/error.log
查看錯(cuò)誤日志,另外每次當(dāng)你修改了php.ini后,需要重啟php5-fpm。無需重啟nginx。
在默認(rèn)的配置中nginx是啟用了fastcgi的錯(cuò)誤日志的,如果看到一個(gè)嚴(yán)重的錯(cuò)誤(例如出現(xiàn)"cannot redeclare class xyz"),nginx可以看到這個(gè)“漂亮的”錯(cuò)誤頁面,那可能是一些錯(cuò)誤發(fā)生了。
如果這樣你可以關(guān)閉,如果php5-fpm不能運(yùn)行,你的php文件將不會(huì)被解析,并且nginx會(huì)顯示一個(gè)錯(cuò)誤頁面。
好了,我猜你已經(jīng)完成了,并且現(xiàn)在使用nginx作為你的web服務(wù)器,nginx是一個(gè)小巧、漂亮并且你可以配置很多東西的一個(gè)東東,如果你需要偽靜態(tài),注意nginx不會(huì)運(yùn)行 .htaccess 文件,你需要偽靜態(tài)更改vhost配置。
如果對(duì)在Linux下感興趣的朋友可以查看《Linux下的DedeCMS站點(diǎn)高級(jí)安全策略》
翻譯:天涯
相關(guān)文章
新特性搶先看! Ubuntu 25.04 Beta 發(fā)布:Linux 6.14 內(nèi)核
Canonical公司近日發(fā)布了Ubuntu 25.04 Beta版,這一版本被賦予了一個(gè)活潑的代號(hào)——“Plucky Puffin”(勇敢的海雀),據(jù)悉,正式的穩(wěn)定版預(yù)計(jì)將在2025年4月17日與廣大用戶2025-03-29如何讓 Ubuntu 居中顯示窗口? 3種方法實(shí)現(xiàn)Ubuntu窗口居中顯示
個(gè)人習(xí)慣不管打開終端窗口還是文件管理器窗口,都希望居中顯示,不太喜歡Linux下自動(dòng)隨意的擺放位置,下面我們就來看看詳細(xì)設(shè)置方法2025-03-11Ubuntu 24.04.2 LTS 正式發(fā)布: 帶來全新硬件支持啟用堆棧HWE
buntu 24.04 LTS 的第 2 個(gè)小版本Ubuntu 24.04.2 LTS 正式發(fā)布,出了修復(fù)漏洞以外,它還帶來了全新的硬件支持啟用堆棧(HWE),讓系統(tǒng)性能和硬件兼容性更上一層樓2025-02-25怎么關(guān)閉Ubuntu無人值守升級(jí)? Ubuntu禁止自動(dòng)更新的技巧
Ubuntu Linux系統(tǒng)禁止自動(dòng)更新的時(shí)候,提示“無人值守升級(jí)在關(guān)機(jī)期間,請(qǐng)不要關(guān)閉計(jì)算機(jī)進(jìn)程”,該怎么解決這個(gè)問題?詳細(xì)請(qǐng)看下文介紹2025-01-20高效管理你的Linux系統(tǒng): Debian操作系統(tǒng)常用命令指南
在Debian操作系統(tǒng)中,了解和掌握常用命令對(duì)于提高工作效率和系統(tǒng)管理至關(guān)重要,本文將詳細(xì)介紹Debian的常用命令,幫助讀者更好地使用和管理Debian系統(tǒng)2025-01-20debian更新系統(tǒng)的命令怎么用? 輕松配置Debian自動(dòng)更新的技巧
Debian不手動(dòng)更新怎么體驗(yàn)新系統(tǒng)?Debian提供了一個(gè)既簡(jiǎn)單又高效的解決辦法——自動(dòng)更新,該怎么用呢?詳細(xì)請(qǐng)看下文介紹2025-01-20如何配置Ubuntu無人值守升級(jí)? 手動(dòng)操作實(shí)現(xiàn)Ubuntu自動(dòng)升級(jí)技巧
無人值守升級(jí)是一個(gè)用于自動(dòng)更新 Debian 和 Ubuntu 系統(tǒng)的開源項(xiàng)目,該項(xiàng)目的主要目的是確保系統(tǒng)能夠定期自動(dòng)安裝安全更新,從而保持系統(tǒng)的安全性和穩(wěn)定性2025-01-20Ubuntu系統(tǒng)怎么安裝Warp? 新一代AI 終端神器安裝使用方法
Warp是一款使用Rust開發(fā)的現(xiàn)代化AI 終端工具,該怎么再Ubuntu系統(tǒng)中安裝使用呢?下面我們就來看看詳細(xì)教程2025-01-20Debian如何查看系統(tǒng)版本? 7種輕松查看Debian版本信息的實(shí)用方法
Debian是一個(gè)廣泛使用的Linux發(fā)行版,用戶有時(shí)需要查看其版本信息以進(jìn)行系統(tǒng)管理、故障排除或兼容性檢查,在Debian系統(tǒng)中,有幾種不同的方法可以查看版本信息2025-01-17解決VMware中Ubuntu虛擬機(jī)鼠標(biāo)閃爍或指針位置不正確的方案
剛下載虛擬機(jī)后,電腦在虛擬機(jī)內(nèi)出現(xiàn)了鼠標(biāo)閃爍或者鼠標(biāo)指針位置不對(duì)的問題,該怎么解決呢?下面我們就來看看詳細(xì)教程2025-01-09