一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Centos - 在CentOS服務器上安裝配置LEMP的詳細教程

在CentOS服務器上安裝配置LEMP的詳細教程

2019-09-17 14:56開源中文社區Dan Nanni Centos

這篇文章主要介紹了在CentOS服務器上安裝配置LEMP的詳細教程,LEMP即指Linux、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 系統上:

   

復制代碼

代碼如下:

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

   

復制代碼

代碼如下:

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

在 CentOS 7 系統上:

   

復制代碼

代碼如下:

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

 

在 CentOS 6 系統上:

   

復制代碼

代碼如下:

$ 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 文件一定已經在這目錄下了。讓我們檢測下是否可以訪問到這個測試 web 頁,輸入 http://nginx的ip地址/ 訪問。
在CentOS服務器上安裝配置LEMP的詳細教程

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

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

在 CentOS 7 系統上:

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

   

復制代碼

代碼如下:

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

 

在 CentOS 6 系統上:

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

   

復制代碼

代碼如下:

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

 

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

    

復制代碼

代碼如下:

$ sudo mysql_secure_installation


在CentOS服務器上安裝配置LEMP的詳細教程

 

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

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

在 CentOS 7 系統上:

   

復制代碼

代碼如下:

$ sudo yum php php-fpm php-mysql

 

在 CentOS 6 系統上:

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

   

復制代碼

代碼如下:

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


在CentOS服務器上安裝配置LEMP的詳細教程

 

在安裝 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 模塊的完整列表的話,可以運行:

   

復制代碼

代碼如下:

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

 

啟動 PHP-FPM

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

在 CentOS 7 系統上:

   

復制代碼

代碼如下:

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

 

在 CentOS 6 系統上:

   

復制代碼

代碼如下:

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


第四步: 配置 LEMP 組合包

 

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

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

在 CentOS 7 系統上:

   

復制代碼

代碼如下:

$ sudo systemctl disable httpd

 

在 CentOS 6 系統上:

   

復制代碼

代碼如下:

$ sudo chkconfig httpd off

 

配置 Nginx

接下來,讓我們配置 nginx 虛擬主機,使得 nginx 可以通過 PHP-FPM 來處理 PHP 的任務。用文本編輯器打開 /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 的默認工作線程數(在 /etc/nginx/nginx.conf 文件中指定的)是 1,讓我們也來調整一下這個數字。通常來說我們創建的工作線程數應該和 CPU 核數相同。要確信您的 CPU 的核數,請運行下面這命令:

   

復制代碼

代碼如下:

$ 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 做自定義設置。更具體的就是在 /etc/php.ini 文件中增加以下兩行。

   

復制代碼

代碼如下:

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

 

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

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

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

在 CentOS 7 系統上:

   

復制代碼

代碼如下:

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

 

在 CentOS 6 系統上:

   

復制代碼

代碼如下:

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

 

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

   

復制代碼

代碼如下:

<?php phpinfo(); ?>

 

打開瀏覽器,輸入 http://nginx的IP地址/test.php 。
在CentOS服務器上安裝配置LEMP的詳細教程

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

延伸 · 閱讀

精彩推薦
  • CentosCentOS6.5下Redis安裝與配置詳細步驟

    CentOS6.5下Redis安裝與配置詳細步驟

    本篇文章主要介紹了CentOS6.5下Redis安裝與配置詳細步驟,詳細介紹redis單機單實例安裝與配置,服務及開機自啟動。有興趣的可以了解一下。...

    飛流11452021-12-24
  • CentosCentOS下Uptime命令詳解

    CentOS下Uptime命令詳解

    在Linux下,我們可以使用uptime命令,而且此命令不必使用root權限。uptime命令在系統中已經默認安裝了。今天小編為大家帶來的是CentOS下Uptime命令詳解;希望...

    CentOS之家11482019-06-19
  • CentosCentOS 6.6實現永久修改DNS地址的方法

    CentOS 6.6實現永久修改DNS地址的方法

    這篇文章主要介紹了CentOS 6.6實現永久修改DNS地址的方法,涉及針對CentOS配置文件的相關設置技巧,具有一定參考借鑒價值,需要的朋友可以參考下 ...

    Linux社區4472020-08-21
  • CentosCentos7運用/dev/shm進行網站優化

    Centos7運用/dev/shm進行網站優化

    這篇文章主要介紹了LINUX中Centos7運用/dev/shm進行網站優化相關知識點,對此有興趣的朋友參考學習下。...

    彬菌9912022-03-02
  • CentosCentos 7開啟網卡自動獲取IP的詳細方法

    Centos 7開啟網卡自動獲取IP的詳細方法

    本篇文章主要介紹了Centos 7開啟網卡自動獲取IP的詳細方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    凌鋒8972021-12-29
  • Centoscentos 安裝與操作方法

    centos 安裝與操作方法

    這篇文章主要介紹了centos 安裝與操作方法,需要的朋友可以參考下...

    centos之家5272019-07-11
  • Centoscentos不小心刪除/root目錄該如何解決?

    centos不小心刪除/root目錄該如何解決?

    一些朋友最近在問小編centos不小心刪除/root目錄該如何解決?今天小編就為大家分享centos不小心刪除/root目錄解決辦法;希望對大家會有幫助,有需要的朋友...

    腳本之家8022019-05-29
  • CentosCentOS7設置日期和時間方法以及基本概念介紹

    CentOS7設置日期和時間方法以及基本概念介紹

    這篇文章主要介紹了CentOS7設置日期和時間方法以及基本概念介紹,本文講解使用CentOS7中的新命令timedatectl設置日期時間方法,需要的朋友可以參考下 ...

    CentOS之家6522019-09-19
主站蜘蛛池模板: 99热免费在线观看 | 500第一精品 | 日本美女视频韩国视频网站免费 | 美女福利视频午夜在线 | 国内精品露脸在线视频播放 | 日本片免费观看一区二区 | 亚洲国产影院 | 给我免费的视频在线观看 | 日本一区二区三区四区无限 | 国产精品va在线观看无 | 日本热妇 | 999热在线精品观看全部 | 秀逼逼 | 国产成人免费在线视频 | 四虎影视色费永久在线观看 | 精品在线99 | 女人张开腿 让男人桶个爽 免费观看 | 春意影院午夜爽爽爽免费 | 晓雪老师我要进你里面好爽 | 四虎在线精品免费高清在线 | 免费看视频| 色久天| 99久久久久国产精品免费 | 好爽好深好猛好舒服视频上 | les女同h高h喷水 | 久久成人永久免费播放 | 2022av小四郎的最新地址 | 国产精品视频2020 | 69成人网 | 91动漫在线观看 | 日韩精品成人a在线观看 | 2048论坛永久入口 原创合集 | 和日本免费不卡在线v | 2021国产麻豆剧传媒新片 | 白丝超短裙被输出娇喘不停小说 | 色吊丝每日永久访问网站 | 99热久久国产精品这里 | 国产一级一级片 | 厨房play黄瓜进去小说h | 国产精品久久国产精品99盘 | 四虎影院在线免费观看视频 |