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)小差別,但并沒(méi)有太大影響。怎么樣,下面我們開始吧。
0.開始注意
為了完成教程中提到的操作,我們假設(shè)您已經(jīng)安裝了一個(gè)基本的Debian或者Ubuntu操作系統(tǒng)。怎么安裝系統(tǒng)這是不同的教程了,這里就不再詳細(xì)說(shuō)明。本教程主要介紹如何簡(jiǎn)單獲取Nginx+php的運(yùn)行環(huán)境。
1.安裝Nginx
第一步要做的就是從庫(kù)中下載,這個(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
再次說(shuō)明,這個(gè)只需要在Ubuntu上面操作就可以了,如果是最新版本的12.04可以省略掉這個(gè)。
下面剩余部分將在Ubuntu和Debian上面都通用。
我們需要增加APT源來(lái)增加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
我們需要安裝命令行,不然接下來(lái)就會(huì)出現(xiàn)些小問(wèn)題
sudo apt-get install php5-fpm php5-cgi
如果你打算使用數(shù)據(jù)庫(kù)或者一些需要的模塊(例如: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(); ?>
通過(guò)瀏覽器訪問(wèn),你可以看到php的一個(gè)大致的信息,如果沒(méi)有則說(shuō)明一些配置錯(cuò)誤,需要重新檢查。
5.問(wèn)題和最終提示
如果你沒(méi)有看到phpinfo,可能會(huì)出現(xiàn)一些錯(cuò)誤,那可以執(zhí)行:
sudo tail /var/log/nginx/error.log
查看錯(cuò)誤日志,另外每次當(dāng)你修改了php.ini后,需要重啟php5-fpm。無(wú)需重啟nginx。
在默認(rèn)的配置中nginx是啟用了fastcgi的錯(cuò)誤日志的,如果看到一個(gè)嚴(yán)重的錯(cuò)誤(例如出現(xiàn)"cannot redeclare class xyz"),nginx可以看到這個(gè)“漂亮的”錯(cuò)誤頁(yè)面,那可能是一些錯(cuò)誤發(fā)生了。
如果這樣你可以關(guān)閉,如果php5-fpm不能運(yùn)行,你的php文件將不會(huì)被解析,并且nginx會(huì)顯示一個(gè)錯(cuò)誤頁(yè)面。
好了,我猜你已經(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 26.04 LTS(Resolute Raccoon)發(fā)布:內(nèi)存要求提至6GB
2026-04-23,Ubuntu 26.04 LTS 正式版按計(jì)劃如期發(fā)布,Ubuntu 26.04 LTS 搭載 Linux 內(nèi)核 7.0 和 GNOME 50 桌面環(huán)境,原生集成英偉達(dá) CUDA,內(nèi)存要求提至 6GB2026-04-24
桌面生產(chǎn)力直接拉滿! Ubuntu安裝后別急著用這7個(gè)設(shè)置一定要改
Ubuntu桌面系統(tǒng)安裝成功后,不要急著使用,修改后桌面生產(chǎn)力直接拉滿,今天我就把這7個(gè)我每次必改的設(shè)置完整分享出來(lái),配上詳細(xì)步驟和實(shí)際效果2026-04-15
CPU和硬盤要求保持不變! Ubuntu 26.04 LTS最低內(nèi)存運(yùn)行要求提高到 6GB
Canonical即將發(fā)布“Resolute Raccoon”Ubuntu 26.04 LTS操作系統(tǒng),資料顯示推薦內(nèi)存提高至6GB,這是2018年以來(lái)首次重大變動(dòng)2026-04-08
基于Linux7.0+GNOME50+Mesa26.0! Ubuntu 26.04 LTS Beta 版發(fā)布
Ubuntu 26.04 LTS測(cè)試版如期發(fā)布,此次更新將集成大量前沿開源技術(shù),Beta 測(cè)試版搭載了尚處于開發(fā)階段的 Linux 7.0 內(nèi)核、默認(rèn)采用最新的 GNOME 50.0 桌面組件、全新的 Mes2026-03-27
Ubuntu桌面系統(tǒng)爆致命漏洞! 30天可拿root權(quán)限
近日,全球知名網(wǎng)絡(luò)安全研究機(jī)構(gòu)Qualys的威脅研究部門正式披露了Ubuntu桌面系統(tǒng)的一個(gè)高危本地提權(quán)漏洞,其官方漏洞編號(hào)為CVE-2026-38882026-03-21
Ubuntu 25.10 系統(tǒng)正式發(fā)布:搭載 Linux 6.17 內(nèi)核
Ubuntu 25.10 系統(tǒng)代號(hào)“Questing Quokka”現(xiàn)已推出,集成最新的 GNOME 49 桌面環(huán)境,默認(rèn)僅啟用 Wayland 會(huì)話,提升了圖形體驗(yàn)2025-10-10
Debian 13升級(jí)后網(wǎng)絡(luò)轉(zhuǎn)發(fā)等功能異常怎么辦? 并非錯(cuò)誤而是管理機(jī)制變更
很多朋友反饋,更新到Debian 13后網(wǎng)絡(luò)轉(zhuǎn)發(fā)等功能異常,這并非 BUG 而是 Debian 13 Trixie 調(diào)整了管理機(jī)制,具體來(lái)說(shuō)是sysctl變更為由systemd-sysctl主導(dǎo)且配置文件變成模塊2025-08-22
SSH中斷/寶塔面板異常/分區(qū)問(wèn)題等! Debian 13升級(jí)注意事項(xiàng)匯總
前一段時(shí)間發(fā)布了debian13,我們也分享了debian12升級(jí)到debian13的圖文教程,很多朋友在升級(jí)的時(shí)候遇到了不少問(wèn)題,今天我們就來(lái)看看Debian 13升級(jí)注意事項(xiàng)2025-08-21
Debian12怎么升級(jí)到Debian13? Debian系統(tǒng)升級(jí)教程
心念念的Debian13終于正式發(fā)布了,該怎么升級(jí)呢?下面我們就來(lái)看看Debian12升級(jí)到 Debian13的教程2025-08-21
Ubuntu 24.04.3 LTS 正式發(fā)布: 附更新內(nèi)容匯總
Ubuntu 24.04 這一長(zhǎng)期支持版本發(fā)布了第三個(gè)點(diǎn)版本升級(jí):Ubuntu 24.04.3 LTS,涵蓋桌面、服務(wù)器與云等版本,主要是將過(guò)去數(shù)月發(fā)布的安全更新、錯(cuò)誤修復(fù)和穩(wěn)定性改進(jìn)整合入2025-08-09


