r级在线播放无码视频_一本av无码不卡免费版_欧洲婷婷av一区免费看_高清性三级交视频在线观看

運(yùn)城網(wǎng)站建設(shè)-運(yùn)城app開發(fā)-運(yùn)城微信公眾平臺開發(fā)

運(yùn)城網(wǎng)站建設(shè)
網(wǎng)站首頁 > 新聞資訊 > 網(wǎng)站建設(shè)

從1搭建LNMP環(huán)境

「LNMP」即Linux,Nginx,MySQL,PHP。我個人的理解是:

  • Linux就是環(huán)境所在的操作系統(tǒng);

  • Nginx則是一個「高性能的HTTP和反向代理服務(wù)器」,官網(wǎng)地址:http://nginx.org/;

  • MySQL則是一個方便地對數(shù)據(jù)進(jìn)行增刪改查的數(shù)據(jù)庫管理系統(tǒng),官網(wǎng)地址:http://www.mysql.com/;

  • PHP則是用來處理具體請求的腳本語言,官網(wǎng)地址:http://www.php.net/。

運(yùn)用這4件工具,最簡單直接的一個用途就是搭建一個網(wǎng)站,例如現(xiàn)在我的個人網(wǎng)站就是在「LNMP」上面跑的,然后博客(我使用WordPress)、新聞等其它內(nèi)容也可以放到網(wǎng)站中。

其實(shí)在Nginx開始受到關(guān)注之前,「LAMP」是搭建網(wǎng)站比較流行的選擇,即LinuxApache,MySQLPHP。

本文的目的就是介紹一下如何從零開始搭建一個LNMP環(huán)境,然后初步讓一個網(wǎng)頁能夠通過瀏覽器走HTTP請求訪問。

這里我們使用的不是LNMP的一鍵安裝包,而是難度稍微高「一點(diǎn)」的逐個安裝,這樣做或許能讓你對這個環(huán)境的細(xì)節(jié)有更好的理解,而且對各部分的定制程度可以達(dá)到最高。

1 開始前的一些Tips

下面給出的操作步驟對于Linux來說是通用的,缺什么就安裝什么,只是不同的Linux所輸入的內(nèi)容可能有些不同而已。

我是直接在阿里云ECS上面操作的,Linux的版本是CentOS 6.3 64位,各位可以直接在阿里云的首頁點(diǎn)擊右上角的「免費(fèi)試用」,選擇CentOS 6.3 64位系統(tǒng),然后通過SSH直接登陸到主機(jī)進(jìn)行操作,這樣是最方便的。

另外一個選擇是自己安裝一個Linux然后在上面進(jìn)行操作,這種方法也可以?,F(xiàn)在我也下載了一個CentOS 6.5 64位把下面的步驟走一遍。在自己的系統(tǒng)上操作有個麻煩的地方:

  1. 如果你把系統(tǒng)搞壞了那么恢復(fù)起來可能要費(fèi)點(diǎn)事,直接重裝也需要一些時間,哪怕是在虛擬機(jī)上面操作,但是ECS上面直接點(diǎn)擊重置就可以了;

  2. 在下載一些系統(tǒng)的依賴包時(例如使用wget命令下載MySQL)如果你的網(wǎng)速比較慢那么下載會比較久,但是阿里云ECS下載這些資源的速度嗖嗖地,非??炀拖螺d完了。

有不少人會使用Ubuntu,我之前也使用過Ubuntu搭建LNMP,最終搭建成功了,只是安裝依賴時有一些些麻煩,下面會講到。

在文中我會在必要地方添加圖片,但是會以文字為主,因?yàn)閷?shí)在沒有太多圖片好添加。其實(shí)下面的所有內(nèi)容都是按照這個這幾個流程寫的:

  1. 要安裝什么程序?——PHP,NGINX,MYSQL;

  2. 安裝的這個程序,在編譯時需要哪些擴(kuò)展或者哪些庫?(例如PHP安裝OpenSSL,NGINX安裝openssl);

  3. 下載這些擴(kuò)展和庫,下載完壓縮包后解壓縮得到這些庫的代碼,或者進(jìn)一步地編譯這些庫并安裝到一個指定的路徑下;

  4. 編譯程序,將需要的庫、擴(kuò)展添加到編譯選項(xiàng)中,指定程序的安裝路徑;

  5. 安裝完成,測試。

因此下面的內(nèi)容就是上面這5步的循環(huán)。那么,開始吧。

2 安裝Linux

首先最基本的自然是你需要安裝了Linux的操作系統(tǒng),如果你只是嘗試一下,可以安裝在虛擬機(jī)里面,或者如果你已經(jīng)在使用阿里云ECS那么系統(tǒng)就已經(jīng)安裝好了。

為了重新走一次所有的步驟, 我下載并在虛擬機(jī)安裝了CentOS 6.5 64位的系統(tǒng)。當(dāng)然你也可以使用其它的Linux發(fā)行版例如Ubuntu等,在接下來要輸入命令的地方不同的Linux按需進(jìn)行修改即可。

在開始前,先安裝一些通常來說應(yīng)該已經(jīng)有的組件,不過以防沒有可以檢查并安裝一下。對于使用CentOS的用戶在root權(quán)限下輸入命令:

1yum -y install gcc automake autoconf libtool make gcc-c++ glibc

對于使用Ubuntu的用戶,如果沒記錯則是將「yum -y install」替換為「sudo apt-get install」就可以了,原則就是把上面列出來的「gcc automake autoconf libtool make gcc-c++ glibc」這幾個東西安裝一下。

3 安裝PHP

為了開啟PHP的一些功能(例如對png格式的支持等),首先需要安裝一些庫,CentOS命令如下:

1yum -y install libmcrypt-devel mhash-devel libxslt-devel \
2libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \
3zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
4ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \
5krb5 krb5-devel libidn libidn-devel openssl openssl-devel

Ubuntu 12.04(其它版本我沒有測試過)用戶在這里可以先不行動,因?yàn)槲以囘^即便在這里使用「sudo apt-get install …」,后面在編譯PHP的時候還是會提示找不到對應(yīng)的庫,原因可能是編譯時的默認(rèn)查找路徑不正確。解決辦法從理論上來說有2個:

  • 找到PHP編譯時查找?guī)斓穆窂?,然后修改為「sudo apt-get install …」安裝后的路徑;

  • 手動下載其中缺少的庫,然后你自己安裝到自己知道的一個目錄,在編譯PHP時手動指定這個庫的路徑(我當(dāng)時用的就是這種方法,累死不償命啊,建議能折騰的研究一下第一個方法,然后把解決方案共享出來)。

庫已經(jīng)安裝好了,要注意的是在編譯PHP時可能會說缺少其中的幾個庫,到時候請各位在百度(或者谷歌)搜一下這個庫的官網(wǎng),使用wget下載然后解壓然后安裝到你指定的一個目錄,最后在編譯PHP時指定這個庫安裝后的路徑即可。為了方便演示,接下來碰到這個問題時,我默認(rèn)使用以下的幾個路徑:

  • 所有下載的壓縮包放在「/home/reetsee/download/」這個文件夾下;

  • 所有的壓縮包解壓后的路徑也是「/home/reetsee/download/」,即如果壓縮包名字是「openssl-1.0.1e.tar.gz」,那么解壓后「/home/reetsee/download/」下會有一個名字為「openssl-1.0.1e」的文件夾;

  • 所有的庫安裝路徑都是「/home/reetsee/environment/lib/」,指定安裝路徑的方法下面會有。

要注意的是:如果你也使用「/home/xxx/…」這樣的格式,最好保證這個「xxx」不是用戶名,或者說「/home/xxx」不是用戶目錄。比較好的做法是你在/home下創(chuàng)建一個目錄并使用這個目錄,例如在/home下使用mkdir xxx。具體原因會在Nginx的安裝部分會提到403 Forbidden的時候講解。

現(xiàn)在可以開始嘗試安裝PHP了,首先我下載了PHP 5.4.29,不下載最新版的原因是我擔(dān)心它和某些庫會有兼容性問題(但我沒有查證過這種問題是否存在)。在命令行下我先把當(dāng)前目錄切換到「/home/reetsee/download/」,然后輸入下面的命令進(jìn)行下載:

1wget http://cn2.php.net/get/php-5.4.29.tar.gz/from/this/mirror

下載的場面大概是這樣的:

下載PHP

 

 

下載后執(zhí)行解壓操作,并切換到PHP的代碼目錄:

1tar zxvf php-5.4.29.tar.gz
2cd php-5.4.29

執(zhí)行以下命令對PHP的安裝進(jìn)行設(shè)置:

1./configure --prefix=/home/reetsee/environment/php  --enable-fpm --with-mcrypt \
2--enable-mbstring --disable-pdo --with-curl --disable-debug  --disable-rpath \
3--enable-inline-optimization --with-bz2  --with-zlib --enable-sockets \
4--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \
5--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \
6--with-gd --with-jpeg-dir --with-openssl

對上面的命令作一下簡單的說明:

從總體來看就是設(shè)置安裝的PHP需要或不需要哪些功能,安裝目錄是什么, 需要哪些庫

–prefix=/home/reetsee/environment/php :把PHP安裝在「/home/reetsee/environment/php」目錄下

–enable-fpm :為了讓Nginx和PHP能夠互相「交談」,需要一個叫做FastCGI的工具,因此PHP需要使用PHP-FPM來管理FastCGI。

–with-openssl :安裝OpenSSL庫

其它的「–with-xxx」即需要xxx庫,「–enable-yyy」即開啟yyy的支持,「–disable-zzz」即禁用zzz。

在這一步,Ubuntu或者CentOS的用戶十有八九會出現(xiàn)類似 「configure: error: mcrypt.h not found. Please reinstall libmcrypt.」的問題,這是因?yàn)槿鄙倭薽crypt這個庫(對于Ubuntu用戶缺少的可能是其它庫),那么接下來就把它下載并安裝。

下載并安裝缺失的庫——以mcrypt為例:

在搜索引擎得知mcrypt的官網(wǎng),進(jìn)入源碼下載的頁面,復(fù)制「libmcrypt-2.5.7.tar.gz」的下載地址,切換到目錄「/home/reetsee/download/」執(zhí)行下載并安裝的操作:

1wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
2tar zxvf libmcrypt-2.5.7.tar.gz
3cd libmcrypt-2.5.7
4./configure --prefix=/home/reetsee/environment/lib/mcrypt
5make && make install

這樣就把mcrypt安裝到「/home/reetsee/environment/lib/mcrypt」下了。

在PHP的源碼目錄進(jìn)行「./configure …」時,將原本的「–with-mcrypt」更改為「–with-mcrypt=/home/reetsee/environment/lib/mcrypt」,粗體部分就是你安裝mcrypt的目錄。

———— mcrypt安裝結(jié)束 ————

回到PHP源碼的目錄重新configure,這次輸入的命令要將mcrypt的安裝路徑添加進(jìn)去,具體命令變?yōu)椋?/p>

1./configure --prefix=/home/reetsee/environment/php  --enable-fpm --with-mcrypt=/home/reetsee/environment/lib/mcrypt \
2--enable-mbstring --disable-pdo --with-curl --disable-debug  --disable-rpath \
3--enable-inline-optimization --with-bz2  --with-zlib --enable-sockets \
4--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \
5--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \
6--with-gd --with-jpeg-dir --with-openssl

最后配置成功會出現(xiàn)「Thank you for using PHP.」,如下圖:

configure_php


Powered by 山西博鰲軟件開發(fā)有限公司 地址:運(yùn)城郡都大廈 電話18035935052 ©2013-2016