CentOS 8.1下搭建LEMP(Linux+Nginx+MySQL+PHP)環(huán)境(教程詳解)
LEMP是一個(gè)軟件堆棧,包含一組免費(fèi)的開源工具,這些工具用于為高流量和動(dòng)態(tài)網(wǎng)站提供動(dòng)力。 LEMP是Linux,Nginx(發(fā)音為Engine X),MariaDB/MySQL和PHP的首字母縮寫。
Nginx是一款開源,強(qiáng)大且高性能的Web服務(wù)器,它還可以兼作反向代理。 MariaDB是用于存儲(chǔ)用戶數(shù)據(jù)的數(shù)據(jù)庫(kù)系統(tǒng),而PHP是用于開發(fā)和支持動(dòng)態(tài)網(wǎng)頁(yè)的服務(wù)器端腳本語(yǔ)言。
相關(guān):
CentOS 8.1下搭建LAMP(Linux+Apache+MySQL+PHP)環(huán)境 https://www.linuxidc.com/Linux/2020-02/162446.htm
在本文中,您將學(xué)習(xí)如何在CentOS 8 Linux發(fā)行版上安裝LEMP服務(wù)器。
步驟1:在CentOS 8上更新軟件包
首先,通過(guò)運(yùn)行以下dnf命令在CentOS 8 Linux上更新存儲(chǔ)庫(kù)和軟件包。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf update
更新CentOS 8軟件包
步驟2:在CentOS 8上安裝Nginx Web服務(wù)器
軟件包更新完成后,使用簡(jiǎn)單命令安裝Nginx。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install nginx
在CentOS 8上安裝Nginx
該代碼段顯示Nginx安裝工作進(jìn)展順利,沒有出現(xiàn)任何問題。
在CentOS 8上安裝Nginx
安裝完成后,將Nginx配置為在系統(tǒng)啟動(dòng)時(shí)自啟動(dòng),并通過(guò)執(zhí)行命令來(lái)驗(yàn)證Nginx是否正在運(yùn)行。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl enable nginx [linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl start nginx
將Nginx配置為在系統(tǒng)啟動(dòng)時(shí)自啟動(dòng)
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl status nginx
驗(yàn)證Nginx服務(wù)狀態(tài)
要檢查已安裝的Nginx版本,請(qǐng)運(yùn)行命令。
[linuxidc@localhost ~/www.linuxidc.com]$nginx -v nginx version: nginx/1.14.1
檢查Nginx版本
如果您對(duì)Nginx感到好奇,并且希望挖掘更多關(guān)于Nginx的信息,請(qǐng)執(zhí)行以下rpm命令。
[linuxidc@localhost ~/www.linuxidc.com]$rpm -qi nginx
查看Nginx詳細(xì)信息
要確認(rèn)Nginx服務(wù)器正在使用瀏覽器運(yùn)行,只需在URL欄中鍵入系統(tǒng)的IP地址或者網(wǎng)址(本文以https://www.linuxidc.com為例,如下圖),然后按Enter。
您應(yīng)該能夠看到“Welcome to nginx onRed Hat Enterprise Linux!”網(wǎng)頁(yè),這表明您的Nginx Web服務(wù)器已啟動(dòng)并正在運(yùn)行。
檢查Nginx網(wǎng)頁(yè)
步驟3:在CentOS 8上安裝MariaDB
MariaDB是MySQL的免費(fèi)開源分支,并提供了最新功能,這些功能使其可以更好地替代MySQL。 要安裝MariaDB,請(qǐng)運(yùn)行命令。
在CentOS 8中安裝MariaDB
要使MariaDB在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng),請(qǐng)運(yùn)行。
[linuxidc@localhost ~/www.linuxidc.com]$systemctl start mariadb
[linuxidc@localhost ~/www.linuxidc.com]$systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
MariaDB在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)
安裝后,請(qǐng)使用以下命令檢查其狀態(tài)。
驗(yàn)證MariaDB服務(wù)狀態(tài)
MariaDB數(shù)據(jù)庫(kù)引擎不安全,任何人都可以在沒有憑據(jù)的情況下登錄。 要加固MariaDB并對(duì)其進(jìn)行保護(hù)以最大程度地減少未經(jīng)授權(quán)的訪問的機(jī)會(huì),請(qǐng)運(yùn)行命令。
[linuxidc@localhost ~/www.linuxidc.com]$mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
系統(tǒng)將提示您輸入root密碼(如果您已經(jīng)有root密碼)或進(jìn)行設(shè)置。在隨后的每個(gè)提示中回答Y。
設(shè)置密碼后,回答其余問題以刪除匿名用戶,刪除測(cè)試數(shù)據(jù)庫(kù)并禁用遠(yuǎn)程root登錄。
完成所有步驟后,您可以登錄MariaDB服務(wù)器并檢查MariaDB服務(wù)器版本信息(提供保護(hù)服務(wù)器時(shí)指定的密碼)。
[linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.17-MariaDB MariaDB Server
Copyright (c) 2000, 2018,Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
檢查MariaDB版本
步驟4:在CentOS 8上安裝PHP 7
最后,我們將安裝最后一個(gè)LEMP組件組件,即PHP,這是一種腳本化Web編程語(yǔ)言,通常用于開發(fā)動(dòng)態(tài)網(wǎng)頁(yè)。
在撰寫本指南時(shí),最新版本是PHP 7.4。 我們將使用Remi存儲(chǔ)庫(kù)安裝它。 Remi資料庫(kù)是一個(gè)免費(fèi)的資料庫(kù),附帶了最新的尖端軟件版本,默認(rèn)情況下在CentOS上不可用。
運(yùn)行以下命令以安裝EPEL存儲(chǔ)庫(kù)。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install https://dl.Fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
接下來(lái),安裝yum utils并使用以下命令啟用remi-repository。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
成功安裝yum-utils和Remi-packages之后,通過(guò)運(yùn)行命令搜索可下載的PHP模塊。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf module list php
輸出將包括可用的PHP模塊,流和安裝配置文件,如下所示。
Extra Packages for Enterprise Linux 8 - x86_64 3.3 MB/s | 5.9 MB 00:01
Remi's Modular repository for Enterprise Linux 7.1 kB/s | 535 kB 01:15
Safe Remi's RPM repository for Enterprise Linux 3.7 kB/s | 1.4 MB 06:27
上次元數(shù)據(jù)過(guò)期檢查:0:00:03 前,執(zhí)行于 2020年02月26日 星期三 07時(shí)39分24秒。
CentOS-8 - AppStream
Name Stream Profiles Summary
php 7.2 [d][e] common [d], devel, minimal PHP scripting language
php 7.3 common, devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 common [d], devel, minimal PHP scripting language
提示:[d]默認(rèn),[e]已啟用,[x]已禁用,[i]已安裝
輸出表明當(dāng)前安裝的PHP版本是PHP 7.2。要安裝較新的版本PHP 7.4,請(qǐng)重置PHP模塊。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf module reset php
重置PHP模塊后,通過(guò)運(yùn)行啟用PHP 7.4模塊。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf module enable php:remi-7.4
最后,使用命令安裝PHP,PHP-FPM(FastCGI進(jìn)程管理器)和關(guān)聯(lián)的PHP模塊。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
已安裝:
php-7.4.3-1.el8.remi.x86_64
php-gd-7.4.3-1.el8.remi.x86_64
php-mysqlnd-7.4.3-1.el8.remi.x86_64
php-opcache-7.4.3-1.el8.remi.x86_64
nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
php-fpm-7.4.3-1.el8.remi.x86_64
php-mbstring-7.4.3-1.el8.remi.x86_64
php-sodium-7.4.3-1.el8.remi.x86_64
oniguruma-6.8.2-1.el8.x86_64
libsodium-1.0.18-2.el8.x86_64
php-pdo-7.4.3-1.el8.remi.x86_64
完畢!
驗(yàn)證安裝的版本可以運(yùn)行。
[linuxidc@localhost ~/www.linuxidc.com]$php -v
PHP 7.4.3 (cli) (built: Feb 18 2020 11:53:05) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
完善!現(xiàn)在,我們已經(jīng)安裝了PHP 7.4。同樣重要的是,我們需要在啟動(dòng)時(shí)啟動(dòng)并啟用PHP-FPM。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl start php-fpm
[sudo] linuxidc 的密碼:
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl enable php-fpm
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
要檢查其狀態(tài),請(qǐng)執(zhí)行命令。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl status php-fpm
檢查PHP-FPM狀態(tài)
另一件事是,默認(rèn)情況下,PHP-FPM配置為以Apache用戶身份運(yùn)行。 但是由于我們正在運(yùn)行Nginx Web服務(wù)器,因此我們需要將其更改為Nginx用戶。
因此,打開文件/etc/php-fpm.d/www.conf。
[linuxidc@localhost ~/www.linuxidc.com]$sudo nano /etc/php-fpm.d/www.conf
找到這兩行。
user = apache
group = apache
現(xiàn)在將兩個(gè)值都更改為Nginx。
user = nginx
group = nginx
配置PHP-FPM
保存并退出配置文件。
然后重新啟動(dòng)Nginx和PHP-FPM,以使更改生效。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl restart nginx
[sudo] linuxidc 的密碼:
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl restart php-fpm
步驟5:測(cè)試PHP信息
默認(rèn)情況下,Nginx的Web目錄文件夾位于 /usr/share/nginx/html/路徑中。 為了測(cè)試PHP-FPM,我們將創(chuàng)建一個(gè)phpinfo文件。
[linuxidc@localhost ~/www.linuxidc.com]$cd /usr/share/nginx/html/ [linuxidc@localhost /usr/share/nginx/html]$su
密碼:
[root@localhost /usr/share/nginx/html]$echo "<?php phpinfo(); ?>" > linuxidc.com.php
保存并退出文件。
啟動(dòng)瀏覽器,然后在URL欄中鍵入您的Web服務(wù)器的IP地址或網(wǎng)址(本文以https://www.linuxidc.com為例),如圖所示。
如果一切順利,您將看到有關(guān)正在運(yùn)行的PHP版本的信息,并顯示其他指標(biāo)。
OK,就這樣,現(xiàn)在您已在CentOS 8上成功安裝了LEMP服務(wù)器堆棧。為安全起見,您可能希望刪除info.php文件,以防止被人從您的Nginx服務(wù)器獲取信息。
總結(jié)
到此這篇關(guān)于CentOS 8.1下搭建LEMP(Linux+Nginx+MySQL+PHP)環(huán)境的文章就介紹到這了,更多相關(guān)centos8 linux 安裝lemp 環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- centos6.6 下 安裝 php7 + nginx環(huán)境的方法
- Centos 安裝 PHP7.4 和 Nginx的操作方法
- 解決thinkPHP 5 nginx 部署時(shí),只跳轉(zhuǎn)首頁(yè)的問題
- 淺談thinkphp的nginx配置,以及重寫隱藏index.php入口文件方法
- 詳解php+nginx 服務(wù)發(fā)生500 502錯(cuò)誤排查思路
- docker搭建php+nginx+swoole+mysql+redis環(huán)境的方法
- nginx+php出現(xiàn)No input file specified解決辦法
- Nginx+php配置文件及原理解析
相關(guān)文章
Linux Samba服務(wù)器超詳細(xì)安裝配置(附問題解決)
在嵌入式系統(tǒng)開發(fā)應(yīng)用平臺(tái)中,tftp、nfs和samba服務(wù)器是最常用的文件傳輸工具,本文詳細(xì)的介紹一下Linux Samba服務(wù)器安裝配置,感興趣的可以了解一下2021-08-08Linux內(nèi)核設(shè)備驅(qū)動(dòng)之內(nèi)核的調(diào)試技術(shù)筆記整理
今天小編就為大家分享一篇關(guān)于Linux內(nèi)核設(shè)備驅(qū)動(dòng)之內(nèi)核的調(diào)試技術(shù)筆記整理,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12Linux系統(tǒng)設(shè)置開機(jī)自動(dòng)運(yùn)行腳本的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)設(shè)置開機(jī)自動(dòng)運(yùn)行腳本的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06CentOS 5.4 Kloxo安裝詳細(xì)說(shuō)明
在centos上安裝過(guò)N次kloxo,總沒有成功,經(jīng)過(guò)幾次的折騰,終于安裝成功了。2010-03-03Linux服務(wù)器利用防火墻iptables策略進(jìn)行端口跳轉(zhuǎn)的方法
這篇文章主要介紹了Linux服務(wù)器利用防火墻iptables策略進(jìn)行端口跳轉(zhuǎn)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10CentOS服務(wù)器初始化設(shè)置詳細(xì)說(shuō)明
這篇文章主要介紹了CentOS服務(wù)器初始化設(shè)置詳細(xì)說(shuō)明,需要的朋友可以參考下2018-01-01CentOS服務(wù)器環(huán)境下MySQL主從同步配置方法
這篇文章主要介紹了CentOS服務(wù)器環(huán)境下MySQL主從同步配置方法,較為詳細(xì)的分析了CentOS服務(wù)器環(huán)境下MySQL主從同步的配置操作步驟、相關(guān)命令、使用方法與注意事項(xiàng),需要的朋友可以參考下2018-03-03VMware下Centos7橋接方式網(wǎng)絡(luò)配置步驟詳解
這篇文章主要為大家詳細(xì)介紹了VMware下Centos7橋接方式網(wǎng)絡(luò)配置完整步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06