配置 Debian 是作為Linux Web服務(wù)器,是一個非常不錯的選擇,她是當(dāng)前僅次于Centos的最受歡迎的服務(wù)器操作系統(tǒng)。我非常喜愛在系統(tǒng)上使用apt/dpkg/gedbi命令去安裝和更新軟件包,這非常方便。
梓潼網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)公司成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。安裝一個功能完善的php 服務(wù)器環(huán)境,你需要安裝一整套的配套軟件,包括一個網(wǎng)頁服務(wù)器,一個數(shù)據(jù)庫。在本篇文章中,我們將安裝配置nginx, php, php-fpm, apc 和 MariaDB。
Nginx是一個新潮的網(wǎng)頁服務(wù)器,它被設(shè)計成為能承受巨大網(wǎng)絡(luò)流量而且使用最少的內(nèi)存和CPU占用量。在Nginx出現(xiàn)之前,獨步武林的網(wǎng)頁服務(wù)器是Apache。然而,隨著互聯(lián)網(wǎng)的越來越流行,就需要一個更快速,效率更高的網(wǎng)頁服務(wù)器。
Nginx vs Apache
Apache 的設(shè)計是模塊化的,具擁有很多的功能,但是大部的功能在常規(guī)的網(wǎng)站中都是用不上的,它的設(shè)計可能是為了迎合所有人的需求,但是最后的結(jié)果是制造了一個重量級的且包含大部分不常用功能的網(wǎng)頁服務(wù)器。 Nginx 在另一方面是非常時髦和極速的網(wǎng)頁服務(wù)器,主要集中在速度、擴展性及性能上。關(guān)于它的強大的技術(shù)已經(jīng)超出了本文的范圍。我們可能在后面作一些介紹。能告訴你的信息是,這個網(wǎng)站就是運行在Nginx上。 現(xiàn)在,拋開那些更深的討論,讓我們開始吧!
在Debian下安裝NginxDebian的官方包中已經(jīng)有了Nginx包,所以你不需要再去其他地方找了,使用apt-get來安裝它。
apt-get install nginx
現(xiàn)在運行Nginx
service nginx start
這時在瀏覽器中打開以下網(wǎng)址來訪問Nginx服務(wù)器
你將看到歡迎信息
Welcome to nginx!
重要提示
為了更好的管理的Nginx服務(wù)器,這有幾樣?xùn)|西需要你記住。Nginx的配置文件能在以下目錄找到
/etc/nginx root@localhost:/etc/nginx# ls conf.d koi-win naxsi.rules scgi_params uwsgi_params fastcgi_params mime.types nginx.conf sites-available win-utf koi-utf naxsi_core.rules proxy_params sites-enabled
我建議你不要修改 nginx.conf 。我們的替代方案是給每一個虛擬主機/網(wǎng)站創(chuàng)建單獨的配置文件保存在以下目錄
/etc/nginx/sites-available /etc/nginx/sites-enabled
這里和Apache相似,sites-enabled 包含的配置文件將會被啟用,這些文件都是指向sites-available 文件夾下配置文件的符號鏈接。
配置一個虛擬主機
現(xiàn)在,我們已經(jīng)安裝好了Nginx,是時候配置一個虛擬主機了。這就是在真實的網(wǎng)站服務(wù)器配置你的網(wǎng)站。 在 /etc/nginx/sites-available 文件夾里能看到一個名為default的文件,它是一個創(chuàng)建我們自己的配置文件的模板文件。我們只要拷貝它并命名為你的網(wǎng)站。
cp default binarytides.com root@localhost:/etc/nginx/sites-available# ls binarytides.com default
我們選擇網(wǎng)站的名稱作為配置文件的名稱,這樣我們就能很容易的記住和維護(hù)。
現(xiàn)在打開binarytides.com這個配置文件,并根據(jù)你的需求進(jìn)行修改。 你能看到一個server節(jié)點,如下
server { #listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /usr/share/nginx/www; index index.html index.htm; # Make site accessible from http://localhost/ server_name localhost;
第一個要配置的就是server_name,這個就是你的網(wǎng)站網(wǎng)址,比如
server_name binarytides.com
或者
server_name binarytides.com www.binarytides.com
當(dāng)有人在瀏覽器中打開binarytides.com,Nginx會根據(jù)HTTP header中包含的hostname去選擇和搜索匹配的server節(jié)點,當(dāng)找到匹配的server節(jié)點,將會使用這部分的配置。 網(wǎng)站另一個要配置的東西是網(wǎng)站的根目錄。默認(rèn)的目錄是/usr/share/nginx/www ,你可能希望將它改為其他目錄。
通常的做法是給每個虛擬主機分別建立一個目錄他,如下
/usr/share/nginx/www/binarytides.com/ /usr/share/nginx/www/google.com/
所以創(chuàng)建一個合適的目錄并且將根目錄設(shè)置指向到這個目錄,如
... root /usr/share/nginx/www/binarytides.com; ...
在完成以上修改后,保存配置文件,并且創(chuàng)建一個符號鏈接到 /etc/nginx/sites-enabled 目錄。
root@localhost:/etc/nginx/sites-available# ls binarytides.com default root@localhost:/etc/nginx/sites-available# cd .. root@localhost:/etc/nginx# cd sites-enabled/ root@localhost:/etc/nginx/sites-enabled# ln -s ../sites-available/binarytides.com root@localhost:/etc/nginx/sites-enabled# ls binarytides.com default root@localhost:/etc/nginx/sites-enabled#
現(xiàn)在測試一下你的配置文件
nginx -t nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
最后一行的輸出內(nèi)容必須為successful ,否則有錯誤會顯示??赡軙幸恍┚妫覀兛梢栽诤竺嫘拚?。
最后,為了讓新配置生效,我們需要重啟Nginx。
service nginx restart Restarting nginx: nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored nginx. root@localhost:/etc/nginx/sites-enabled#
這樣,新的配置就生效了?,F(xiàn)在創(chuàng)建一個新的index.html文件到相應(yīng)的虛擬主機根目錄,從瀏覽器打開它,你就能看到了。
安裝php和php-fpm接下來的事情要安裝的是PHP解釋器和PHP-FPM。 PHP-FPM是PHP專用的來管理處理PHP請求的FastCGI進(jìn)程管理器,它兼容的大部分WEB服務(wù)器。
Nginx <== 通信 ==> Php-FPM <== 管理 ==> php child process
首先安裝必要的包。
apt-get install php5 php5-fpm
它會自動安裝相關(guān)依賴包,如果你需要用命令行運行腳本,你可以安裝 \'php5-cli\' 包
Php-fpm 以單獨的服務(wù)器運行,并且使用套接字(socket)與nginx通信。因此,php的執(zhí)行是完全與nginx隔離的,此外由于fpm保持php進(jìn)程持續(xù),所以它完全支持APC。
現(xiàn)在,我們看一下php-fpm配置文件,文件在
/etc/php5/fpm/
進(jìn)程池(Pool)是一組具有相同的用戶/組運行PHP進(jìn)程。所以如果你想每個網(wǎng)站的腳本以獨立的用戶權(quán)限運行,你需要創(chuàng)建獨立的fpm進(jìn)程池。為了簡單起見,我們在這只演示單個進(jìn)程池。 The pool configuration files are inside the pool.d directory. Navigate in 進(jìn)程池的配置文件在pool.d目錄。如下
root@localhost:/etc/php5/fpm/pool.d# ls www.conf
www.conf也是供你創(chuàng)建獨立進(jìn)程池的模板,它的內(nèi)容差不多是這樣子的
; Start a new pool named \'www\'. ; the variable $pool can we used in any directive and will be replaced by the ; pool name (\'www\' here) [www] ; Per pool prefix ; It only applies on the following directives: ; - \'slowlog\' ; - \'listen\' (unixsocket) ; - \'chroot\' ; - \'chdir\' ; - \'php_values\' ; - \'php_admin_values\' ; When not set, the global prefix (or /usr) applies instead. ; Note: This directive can also be relative to the global prefix. ; Default Value: none ;prefix = /path/to/pools/$pool ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user\'s group ; will be used. user = www-data group = www-data ; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; \'ip.add.re.ss:port\' - to listen on a TCP socket to a specific address on ; a specific port; ; \'port\' - to listen on a TCP socket to all addresses on a ; specific port; ; \'/path/to/unix/socket\' - to listen on a unix socket. ; Note: This value is mandatory. listen = /var/run/php5-fpm.sock ; Set listen(2) backlog. ; Default Value: 128 (-1 on FreeBSD and OpenBSD) ;listen.backlog = 128 The above thing consists of comments mostly and the most important 4 lines are [www] 是進(jìn)程名 2.user = www-data 是指定腳本的運行用戶權(quán)限 3. group = www-data 是指定用戶組 4. listen = /var/run/php5-fpm.sock 是改池的套接字通信地址。該套接字必須給nginx讀寫權(quán)限,讓nginx與fpm通信。
我們在這里不準(zhǔn)備修改太多。只用記住套接字通信地址,將它放到nginx的配置文件里。打開nginx的配置文件
里面包含一個類似下面的配置
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ .php$ { # fastcgi_split_path_info ^(.+.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # # With php5-fpm: # fastcgi_pass unix:/var/run/php5-fpm.sock; # fastcgi_index index.php; # include fastcgi_params; #}
去掉注釋,修改成
location ~ .php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; }
測試PHP
現(xiàn)在在網(wǎng)站根目錄下面放一個有phpinfo函數(shù)的文件
<?php phpinfo();
然后在瀏覽器中打開這個文件,你將看到的是php的信息,意味著php配置成功且運行正常。
另外一點,你可以將index.php加入你索引列表,這樣當(dāng)訪問目錄時,將默認(rèn)調(diào)用index.php。
root /usr/share/nginx/www/binarytides.com; index index.html index.htm index.php;
安裝apc - Alternative PHP Cache
APC是一個提高PHP腳本的執(zhí)行速度的好方法。 APC編譯PHP代碼,并保存操作碼在內(nèi)存中,這樣就不需要從文件中重新編譯相同的php代碼。這大大加快執(zhí)行速度。除了操作碼緩存,APC還提供了一個用戶緩存來在內(nèi)存中存儲PHP應(yīng)用程序原始數(shù)據(jù)。 PHP5.5版本中引入了一個名為OPcache的新功能,它實現(xiàn)與apc一樣的操作碼緩存,從而降低了apc的地位。 設(shè)置apc是非常簡單和快捷的,只用為php安裝apc包。
apt-get install php-apc
然后重啟php-fpm
service php5-fpm restart
現(xiàn)在,刷新的phpinfo頁面,它有關(guān)APC的信息了。apc的配置文件在
/etc/php5/fpm/conf.d/20-apc.ini
這個文件可以根據(jù)的性能優(yōu)化作相應(yīng)的調(diào)整。以下是我使用的配置
extension=apc.so apc.enabled=1 apc.shm_size=128M apc.ttl=3600 apc.user_ttl=7200 apc.gc_ttl=3600 apc.max_file_size=1M
查找apc參數(shù)的,以獲取更多的信息。
在Debian上安裝MariaDB想在我們來到了LEMP安裝的最后一步了,我們要安裝的是MariaDB而不是Mysql。我們知道Mysql現(xiàn)在在oracle手上,可能在不久將會商業(yè)化。所以大部分的公司開始轉(zhuǎn)向MariaDB。好消息是MariaDB兼容mysql并增加了很多的功能,所以如果你的php應(yīng)用使用的是mysql,你可無縫轉(zhuǎn)換到MariaDB。
MariaDB 現(xiàn)在不再debian包倉庫中,可以從以下地址添加源
https://downloads.mariadb.org/mariadb/repositories/
根據(jù)頁面上的提示選擇相應(yīng)的版本,獲取源地址。
下面就是我獲取到的命令
sudo apt-get install python-software-properties sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db sudo add-apt-repository \'deb http://mirrors.fe.up.pt/pub/mariadb/repo/10.0/debian wheezy main\'
現(xiàn)在我們來更新apt的緩存并安裝mariadb包
sudo apt-get update sudo apt-get install mariadb-server mariadb-client
安裝時mariadb會要求輸入root的密碼。輸入密碼,并確定你不會忘記。
安裝完成后,檢查mariadb的版本
# mysql -V mysql Ver 15.1 Distrib 10.0.3-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1
要注意的是這里的命令和mysql的一樣,但是版本信息中顯示的是mariadb 。
網(wǎng)站服務(wù)器已準(zhǔn)備就緒
現(xiàn)在LEMP網(wǎng)站服務(wù)器已經(jīng)可以使用了,你可以安裝一些比如phpmyadmin去更好的管理數(shù)據(jù)庫,Phpmyadmin 已經(jīng)存在debian的倉庫中,你可以直接從那安裝。
當(dāng)前文章:在Debian7上配置Nginx+php-FPM+apc+MariaDB(翻譯)
轉(zhuǎn)載注明:http://jinyejixie.com/article8/chddop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、標(biāo)簽優(yōu)化、網(wǎng)站維護(hù)、搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)