在CentOS服務(wù)器上如何安裝配置LEMP

本篇內(nèi)容介紹了“在CentOS服務(wù)器上如何安裝配置LEMP”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

青羊ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

LEMP 組合包是一款日益流行的網(wǎng)站服務(wù)組合軟件包,在許多生產(chǎn)環(huán)境中的核心網(wǎng)站服務(wù)上起著強有力的作用。正如其名稱所暗示的, LEMP 包是由 Linux、nginx、MariaDB/MySQL 和 PHP 組成的。在傳統(tǒng)的 LAMP 包中使用的 Apache HTTP 協(xié)議服務(wù)器性能低下而且難于大規(guī)模集群,相比來說 nginx 的高性能及輕量級等特性,正是其的替代方案。 MariaDB 是一款社區(qū)支持驅(qū)動的 MySQL 數(shù)據(jù)庫的分支,其功能更多性能更佳。PHP,服務(wù)端編程語言,具體是由 PHP FastCGI 的增強版 PHP-FPM 組件來處理,生成網(wǎng)頁動態(tài)內(nèi)容。

(LCTT 譯注:為何采用 LEMP 而不是 LNMP 的縮寫?據(jù) https://lemp.io/ 的解釋:Nginx 的發(fā)音是 Engine-X,重要的發(fā)音而不是首字母,而且 LEMP 實際上是可讀的,而 LNMP 看起來只是字母表。)

這篇文章里,我們示范如何在 CentOS 操作平臺上安裝 LEMP 包。我們安裝的目標是 CentOS 6 和 CentOS 7 兩個操作平臺,如有必要會指出它們的不同。
第一步: Nginx

讓我們在 CentOS 上安裝 nginx 作為第一步,然后對它作些基本的配置,比如使其能引導時啟動和對防火墻做個性化設(shè)置。
安裝 Nginx

讓我們從它的官方的 RPM 源來安裝一個預構(gòu)建的穩(wěn)定版本的 nginx 包。

在 CentOS 7 系統(tǒng)上:  

代碼如下:

$ sudo rpm --import http://nginx.org/keys/nginx_signing.key
   $ sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
   $ sudo yum install nginx

在 CentOS 6 系統(tǒng)上:  

代碼如下:

$ sudo rpm --import http://nginx.org/keys/nginx_signing.key
   $ sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
   $ sudo yum install nginx

注意在安裝 nginx RPM 包之前,如果您沒有導入 nginx 的官方 GPG 密鑰的話,會出一如下所示的警告:   

代碼如下:

warning: /var/tmp/rpm-tmp.KttVHD: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY

啟動 Nginx

安裝完成后,nginx 是不會自動啟動的。現(xiàn)在讓我們來啟動它吧,還要做些配置讓其可以隨著操作系統(tǒng)啟動而啟動。我們也需要在防火墻里打開 TCP/80 端口,以使得可以遠程訪問 nginx 的 web 服務(wù)。所有這些操作、設(shè)置都只需要輸入如下命令就可實現(xiàn)。

在 CentOS 7 系統(tǒng)上:   

代碼如下:

$ sudo systemctl start nginx
   $ sudo systemctl enable nginx
   $ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
   $ sudo firewall-cmd --reload

在 CentOS 6 系統(tǒng)上:   

代碼如下:

$ sudo service nginx start
   $ sudo chkconfig nginx on
   $ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
   $ sudo service iptables save

測試 Nginx

nginx 的默認文檔要目錄是 /usr/share/nginx/html。默認的 index.html 文件一定已經(jīng)在這目錄下了。讓我們檢測下是否可以訪問到這個測試 web 頁,輸入 http://nginx的ip地址/ 訪問。
在CentOS服務(wù)器上如何安裝配置LEMP

如果您看到的是如上所示的頁面的話,說明 nginx 已經(jīng)正常啟動。
第二步: MariaDB/MySQL

下一步就是安裝 LEMP 包的數(shù)據(jù)庫組件。CentOS/RHEL 6 或早期的版本中提供的是 MySQL 的服務(wù)器/客戶端安裝包,但 CentOS/RHEL 7 已使用了 MariaDB 替代了默認的 MySQL。作為 MySQL 的簡單替代品,MariaDB 保證了與 MySQL 的 API 和命令行用法方面最大的兼容性。下面是關(guān)于怎么在 CentOS 上安裝和配置 MaraDB/MySQL 的操作示例。

在 CentOS 7 系統(tǒng)上:

如下所示操作來安裝 MariaDB 服務(wù)/客戶端包以及啟動 MariaDB 服務(wù)。  

代碼如下:

$ sudo yum install mariadb-server
   $ sudo systemctl start mariadb
   $ sudo systemctl enable mariadb

在 CentOS 6 系統(tǒng)上:

如下示,安裝 MySQL 服務(wù)/客戶端包并且啟動 MySQL 服務(wù)。   

代碼如下:

$ sudo yum install mysql-server
   $ sudo service mysqld start
   $ sudo chkconfig mysqld on

在成功啟動 MariaDB/MySQL 服務(wù)后,執(zhí)行在 MariaDB/MySQL 服務(wù)包中的腳本。這一次的運行會為為數(shù)據(jù)庫服務(wù)器進行一些安全強化措施,如設(shè)置(非空)的 root 密碼、刪除匿名用戶、鎖定遠程訪問。    

代碼如下:

$ sudo mysql_secure_installation

在CentOS服務(wù)器上如何安裝配置LEMP

這就是數(shù)據(jù)庫的設(shè)置。現(xiàn)在進行下一步。
第三步: PHP

PHP 是 LEMP 包中一個重要的組件,它負責把存儲在 MariaDB/MySQL 服務(wù)器的數(shù)據(jù)取出生成動態(tài)內(nèi)容。為了 LEMP 需要,您至少需要安裝上 PHP-FPM 和 PHP-MySQL 兩個模塊。PHP-FPM(FastCGI 進程管理器)實現(xiàn)的是 nginx 服務(wù)器和生成動態(tài)內(nèi)容的 PHP 應用程序的訪問接口。PHP-MySQL 模塊使 PHP 程序能訪問 MariaDB/MySQL 數(shù)據(jù)庫。
安裝 PHP 模塊

在 CentOS 7 系統(tǒng)上:   

代碼如下:

$ sudo yum php php-fpm php-mysql

在 CentOS 6 系統(tǒng)上:

首先,您需要從倉庫中安裝 REMI 庫(參見本指南),并安裝軟件包。   

代碼如下:

$ sudo yum --enablerepo=remi install php php-fpm php-mysql

在CentOS服務(wù)器上如何安裝配置LEMP

在安裝 PHP 時,得注意兩個地方:

在 CentOS 6 系統(tǒng)中,安裝 REMI倉庫中最新的 php-mysql 模塊時,MySQL 的服務(wù)端包和客戶端包會被當做一部分依賴包而自動的更新。

在 CentOS 6 和 CentOS 7 中,在安裝 PHP 包的同時會把 Apache web 服務(wù)器(即 httpd)當做它的依賴包一起安裝。這會跟 nginx web 服務(wù)器起沖突。這個問題會在下一節(jié)來討論。

取決于您的使用情況,可以使用 yum 命令來定制您的 PHP 引擎,也許會想安裝下面的任意一個擴展 PHP 模塊包。

  •     php-cli: PHP 的命令行界面。從命令行里測試 PHP 時非常有用。
        php-gd: PHP 的圖像處理支持。
        php-bcmath: PHP 的數(shù)學支持。
        php-mcrypt: PHP 的加密算法支持 (例如 DES、Blowfish、CBC、 CFB、ECB ciphers 等)。
        php-xml: PHP 的 XML 解析和處理支持。
        php-dba: PHP 的數(shù)據(jù)抽象層支持。
        php-pecl-apc: PHP 加速器/緩存支持。

安裝時,要查看可用的 PHP 模塊的完整列表的話,可以運行:   

代碼如下:

$ sudo yum search php- (CentOS 7)
   $ sudo yum --enablerepo=remi search php- (CentOS 6)

啟動 PHP-FPM

您需要啟動 PHP-FPM ,然后把它放到自動啟動服務(wù)列表。

在 CentOS 7 系統(tǒng)上:   

代碼如下:

$ sudo systemctl start php-fpm
   $ sudo systemctl enable php-fpm

在 CentOS 6 系統(tǒng)上: 

代碼如下:

$ sudo chkconfig php-fpm on
   $ sudo service php-fpm start

第四步: 配置 LEMP 組合包

本教程的最后一步是調(diào)整 LEMP 組合包的配置。
使 Httpd 不可用

首先,讓我們把早先隨 PHP 包安裝的 httpd 服務(wù)給禁用掉。

在 CentOS 7 系統(tǒng)上:   

代碼如下:

$ sudo systemctl disable httpd

在 CentOS 6 系統(tǒng)上:   

代碼如下:

$ sudo chkconfig httpd off

配置 Nginx

接下來,讓我們配置 nginx 虛擬主機,使得 nginx 可以通過 PHP-FPM 來處理 PHP 的任務(wù)。用文本編輯器打開 /etc/nginx/conf.d/default.conf ,然后按如下所示修改。    

代碼如下:

$ sudo vi /etc/nginx/conf.d/default.conf </p> <p>    server {
       listen       80;
       server_name  www.server_domain.com;
       root   /usr/share/nginx/html;
       index  index.php index.html index.htm;
   
       location / {
       }
   
       # redirect server error pages to the static page /50x.html
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
       }
   
       # nginx passes PHP scripts to FastCGI server via a TCP/9000 socket
       # this setting much be consistent with /etc/php-fpm.d/www.conf
       # try_files prevents nginx from passing bad scripts to FastCGI server
       location ~ \.php$ {
           try_files $uri =404;
           fastcgi_pass 127.0.0.1:9000;
           fastcgi_index index.php;
           fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
           include fastcgi_params;
       }
   }

nginx 的默認工作線程數(shù)(在 /etc/nginx/nginx.conf 文件中指定的)是 1,讓我們也來調(diào)整一下這個數(shù)字。通常來說我們創(chuàng)建的工作線程數(shù)應該和 CPU 核數(shù)相同。要確信您的 CPU 的核數(shù),請運行下面這命令:   

代碼如下:

$ grep processor /proc/cpuinfo | wc -l

如果您的 CPU 是 4 核的,就如下所示修改 /etc/nginx/nginx.conf 文件。   

代碼如下:

$ sudo vi /etc/nginx/nginx.conf </p> <p>    worker_processes  4;

配置 PHP

接下來,讓我們對 PHP 的配置文件 /etc/php.ini 做自定義設(shè)置。更具體的就是在 /etc/php.ini 文件中增加以下兩行。  

代碼如下:

cgi.fix_pathinfo=0
   date.timezone = "PRC"

為了安全起見,我們希望的是 PHP 解釋器只是處理指定文件路徑的文件任務(wù),而不是預測搜索一些并不存在的文件任務(wù)。上面的第一行起的就是這個作用。(LCTT 譯注:原文用的時區(qū)是“America/New York”,根據(jù)國內(nèi)情況,應該用 PRC或 Asia 下的中國城市。)

第二行定義的是 PHP 中日期/時間相關(guān)函數(shù)使用相關(guān)的默認時區(qū)。使用本指南,找出您所在的時區(qū),并設(shè)置相應 date.timezone 的值。
測試 PHP

最后,讓我們來測試下 nginx 是否能處理 PHP 頁面。在測試之前,請確保重啟 nginx 和 PHP-FPM。

在 CentOS 7 系統(tǒng)上:   

代碼如下:

$ sudo systemctl restart nginx
   $ sudo systemctl restart php-fpm

在 CentOS 6 系統(tǒng)上:   

代碼如下:

$ sudo service nginx restart
   $ sudo service php-fpm restart

創(chuàng)建一個叫名叫 test.php 的文件,然后寫入如下內(nèi)容,并放入 /usr/share/nginx/html 目錄。   

代碼如下:

<?php phpinfo(); ?>

打開瀏覽器,輸入 http://nginx的IP地址/test.php 。
在CentOS服務(wù)器上如何安裝配置LEMP

如果您能看到如上所示的頁面,說明設(shè)置的 LEMP 完全成功!

“在CentOS服務(wù)器上如何安裝配置LEMP”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

網(wǎng)頁標題:在CentOS服務(wù)器上如何安裝配置LEMP
分享鏈接:http://muchs.cn/article4/jooioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、App設(shè)計、網(wǎng)站排名網(wǎng)站內(nèi)鏈面包屑導航、品牌網(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)

h5響應式網(wǎng)站建設(shè)