亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

CentOS 7 下安裝 LEMP 服務(nginx、MariaDB/MyS

系統 1863 0

原文 CentOS 7 下安裝 LEMP 服務(nginx、MariaDB/MySQL 和 php)

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

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

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

?

?

?

第一步: Nginx

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

安裝 Nginx

讓我們從它的官方的 RPM 源來安裝一個預構建的穩定版本的 nginx 包。

? CentOS 7 ?系統上:

  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 系統上:

  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 包之前,如果您沒有導入 nginx 的官方 GPG 密鑰的話,會出一如下所示的警告:

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

啟動 Nginx

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

? CentOS 7 ?系統上:

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

在 CentOS 6 系統上:

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

測試 Nginx

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

?

?

?

如果您看到的是如上所示的頁面的話,說明 nginx 已經正常啟動。繼續往下。

第二步: MariaDB/MySQL

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

? CentOS 7 ?系統上:

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

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

在 CentOS 6 系統上:

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

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

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

  1. $ sudo mysql_secure_installation

?

?

?

這就是數據庫的設置。現在進行下一步。

第三步: PHP

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

安裝 PHP 模塊

? CentOS 7 ?系統上:

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

在 CentOS 6 系統上:

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

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

?

?

?

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

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

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

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

php-cli: PHP 的命令行界面。從命令行里測試 PHP 時非常有用。

php-gd: PHP 的圖像處理支持。

php-bcmath: PHP 的數學支持。

php-mcrypt: PHP 的加密算法支持 (例如 DES、Blowfish、CBC、 CFB、ECB ciphers 等)。

php-xml: PHP 的 XML 解析和處理支持。

php-dba: PHP 的數據抽象層支持。

php-pecl-apc: PHP 加速器/緩存支持。

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

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

啟動 PHP-FPM

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

? CentOS 7 ?系統上:

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

在 CentOS 6 系統上:

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

第四步: 配置 ? LEMP ?組合包

本教程的最后一步是調整 ? LEMP ?組合包的配置。

使 Httpd 不可用

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

? CentOS 7 ?系統上:

  1. $ sudo systemctl disable httpd

在 CentOS 6 系統上:

  1. $ sudo chkconfig httpd off

配置 Nginx

接下來,讓我們配置 nginx 虛擬主機,使得 nginx 可以通過 PHP-FPM 來處理 PHP 的任務。用文本編輯器打開 /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. location / {
  7. }
  8. # redirect server error pages to the static page /50x.html
  9. error_page 500 502 503 504 / 50x . html ;
  10. location = /50x.html {
  11. }
  12. # nginx passes PHP scripts to FastCGI server via a TCP/ 9000 socket
  13. # this setting much be consistent with /etc/php-fpm.d/www.conf
  14. # try_files prevents nginx from passing bad scripts to FastCGI server
  15. location ~ \.php$ {
  16. try_files $uri = 404 ;
  17. fastcgi_pass 127.0 . 0.1 : 9000 ;
  18. fastcgi_index index . php ;
  19. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ;
  20. include fastcgi_params ;
  21. }
  22. }

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

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

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

  1. $ sudo vi / etc / nginx / nginx . conf
  2. worker_processes 4 ;

配置 PHP

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

cgi.fix_pathinfo=0date.timezone = “PRC”

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

第二行定義的是 PHP 中日期/時間相關函數使用相關的默認時區。使用本指南,找出您所在的時區,并設置相應 date.timezone 的值。

測試 PHP

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

? CentOS 7 ?系統上:

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

在 CentOS 6 系統上:

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

創建一個叫名叫 test.php 的文件,然后寫入如下內容,并放入 /var/www/html/ 目錄。

?

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

?

?

?

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

CentOS 7 下安裝 LEMP 服務(nginx、MariaDB/MySQL 和 php)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99在线视频网站 | 国产欧美日韩看片片在线人成 | 视频在线观看一区 | 99毛片| 久久久久久青草大香综合精品 | 思99re久久这里只有精品首页 | 色悠综合| 99re6久精品国产首页 | 咪咪爱在线视频 | 波多野结衣免费一区二区三区香蕉 | 亚洲qingse| 国产成人高清 | 中文字幕一区二区日产乱码 | 久夜色精品国产一区二区三区 | 日韩中文字幕视频 | 狠狠色丁香婷婷久久综合不卡 | 亚洲视频成人 | 欧美亚洲国产精品久久第一页 | 成人日韩精品 | 国内精品久久久久影院中国 | 国产成人亚洲综合一区 | b毛片 | 国产国拍亚洲精品永久不卡 | 久青草国产观看在线视频 | 日韩www视频 | 一极毛片| 国内精品久久久久久不卡影院 | 伊人激情久久综合中文字幕 | 国产精品美女流白浆视频 | 亚洲精品人成在线观看 | 一级做a爱片特黄在线观看免费看 | 国产免费变态视频网址网站 | 18p爽视频在线观看免费 | 欧美激情久久久久久久大片 | 欧美一级片免费在线观看 | 精品综合久久久久久99 | 国产精品伦一区二区三级视频 | 久久精品视频16 | 欧美三级aaa | 自拍在线视频 | 伊人久久伊人 |