自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CentOS 下安裝LEMP服務(wù)(Nginx、MariaDB/MySQL和PHP)

運(yùn)維 系統(tǒng)運(yùn)維 Linux MariaDB
這篇文章里,我們示范如何在 CentOS 操作平臺(tái)上安裝 LEMP 包。我們安裝的目標(biāo)是 CentOS 6 和 CentOS 7 兩個(gè)操作平臺(tái),如有必要會(huì)指出它們的不同。

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

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

這篇文章里,我們示范如何在 CentOS 操作平臺(tái)上安裝 LEMP 包。我們安裝的目標(biāo)是 CentOS 6 和 CentOS 7 兩個(gè)操作平臺(tái),如有必要會(huì)指出它們的不同。

第一步: Nginx

讓我們?cè)?CentOS 上安裝 nginx 作為第一步,然后對(duì)它作些基本的配置,比如使其能引導(dǎo)時(shí)啟動(dòng)和對(duì)防火墻做個(gè)性化設(shè)置。

安裝 Nginx

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

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

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

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

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

注意在安裝 nginx RPM 包之前,如果您沒(méi)有導(dǎo)入 nginx 的官方 GPG 密鑰的話,會(huì)出一如下所示的警告:

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

啟動(dòng) Nginx

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

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

  1. $ sudo systemctl start nginx
  2. $ sudo systemctl enable nginx
  3. $ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
  4. $ sudo firewall-cmd --reload

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

  1. $ sudo service nginx start
  2. $ sudo chkconfig nginx on
  3. $ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  4. $ sudo service iptables save

測(cè)試 Nginx

nginx 的默認(rèn)文檔要目錄是 /usr/share/nginx/html。默認(rèn)的 index.html 文件一定已經(jīng)在這目錄下了。讓我們檢測(cè)下是否可以訪問(wèn)到這個(gè)測(cè)試 web 頁(yè),輸入 http://nginx的ip地址/ 訪問(wèn)。

如果您看到的是如上所示的頁(yè)面的話,說(shuō)明 nginx 已經(jīng)正常啟動(dòng)。繼續(xù)往下。

#p#

第二步: MariaDB/MySQL

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

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

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

  1. $ sudo yum install mariadb-server
  2. $ sudo systemctl start mariadb
  3. $ sudo systemctl enable mariadb

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

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

  1. $ sudo yum install mysql-server
  2. $ sudo service mysqld start
  3. $ sudo chkconfig mysqld on

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

  1. $ sudo mysql_secure_installation

這就是數(shù)據(jù)庫(kù)的設(shè)置?,F(xiàn)在進(jìn)行下一步。

#p#

第三步: PHP

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

安裝 PHP 模塊

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

  1. $ sudo yum php php-fpm php-mysql

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

首先,您需要從倉(cāng)庫(kù)中安裝 REMI 庫(kù)(參見(jiàn)本指南),并安裝軟件包。

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

在安裝 PHP 時(shí),得注意兩個(gè)地方:

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

在 CentOS 6 和 CentOS 7 中,在安裝 PHP 包的同時(shí)會(huì)把 Apache web 服務(wù)器(即 httpd)當(dāng)做它的依賴(lài)包一起安裝。這會(huì)跟 nginx web 服務(wù)器起沖突。這個(gè)問(wèn)題會(huì)在下一節(jié)來(lái)討論。

取決于您的使用情況,可以使用 yum 命令來(lái)定制您的 PHP 引擎,也許會(huì)想安裝下面的任意一個(gè)擴(kuò)展 PHP 模塊包。

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

安裝時(shí),要查看可用的 PHP 模塊的完整列表的話,可以運(yùn)行:

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

啟動(dòng) PHP-FPM

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

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

  1. $ sudo systemctl start php-fpm
  2. $ sudo systemctl enable php-fpm

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

  1. $ sudo chkconfig php-fpm on
  2. $ sudo service php-fpm start

#p#

第四步: 配置 LEMP 組合包

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

使 Httpd 不可用

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

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

  1. $ sudo systemctl disable httpd

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

  1. $ sudo chkconfig httpd off

配置 Nginx

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

  1. $ sudo vi /etc/nginx/conf.d/default.conf

  1. server {
  2. listen 80;
  3. server_name www.server_domain.com;
  4. root /usr/share/nginx/html;
  5. index index.php index.html index.htm;
  6.  
  7. location / {
  8. }
  9.  
  10. # redirect server error pages to the static page /50x.html
  11. error_page 500 502 503 504 /50x.html;
  12. location = /50x.html {
  13. }
  14.  
  15. # nginx passes PHP scripts to FastCGI server via a TCP/9000 socket
  16. # this setting much be consistent with /etc/php-fpm.d/www.conf
  17. # try_files prevents nginx from passing bad scripts to FastCGI server
  18. location ~ \.php$ {
  19. try_files $uri =404;
  20. fastcgi_pass 127.0.0.1:9000;
  21. fastcgi_index index.php;
  22. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  23. include fastcgi_params;
  24. }
  25. }

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

  1. $ grep processor /proc/cpuinfo | wc -l

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

  1. $ sudo vi /etc/nginx/nginx.conf

  1. worker_processes 4;

配置 PHP

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

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

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

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

測(cè)試 PHP

最后,讓我們來(lái)測(cè)試下 nginx 是否能處理 PHP 頁(yè)面。在測(cè)試之前,請(qǐng)確保重啟 nginx 和 PHP-FPM。

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

  1. $ sudo systemctl restart nginx
  2. $ sudo systemctl restart php-fpm

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

  1. $ sudo service nginx restart
  2. $ sudo service php-fpm restart

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

  1. <?php phpinfo(); ?>

打開(kāi)瀏覽器,輸入 http://nginx的IP地址/test.php 。

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


via: http://xmodulo.com/install-lemp-stack-centos.html

作者:Dan Nanni 譯者:runningwater 校對(duì):wxy

責(zé)任編輯:林師授 來(lái)源: Linux中國(guó)
相關(guān)推薦

2017-12-19 15:42:47

Ubuntu 17.1LEMPMariaDB

2019-12-02 09:46:18

Fedora 30 SLEMPLinux

2010-02-23 14:45:52

CentOS LEMP

2010-02-22 14:53:49

Ubuntu ngin

2014-09-11 11:32:21

Ubuntu運(yùn)維

2013-05-07 09:57:23

MariaDB

2010-06-01 09:51:11

2011-02-25 16:30:47

MySQLPHPNginx

2022-09-01 08:37:50

Ubuntu發(fā)行版

2017-04-11 15:15:20

CentOSPHP拓展安裝

2011-03-21 13:59:44

Apachemysqlphp

2013-06-21 13:49:08

MariaDB

2013-05-17 10:43:32

2010-02-22 17:53:14

CentOS配置

2017-03-21 15:51:57

LinuxCentOS 7MariaDB 10

2013-04-10 15:12:03

MySQL 5.6

2021-06-29 12:10:48

CentOSMySQL工具

2010-02-04 13:19:41

Linux Nginx

2017-03-09 13:26:33

2010-01-15 20:43:42

CentOS PHP編
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)