CentOS 7.x下的LEMP環(huán)境搭建詳細(xì)教程
最近由于項(xiàng)目需求,將服務(wù)器從CentOS6升級(jí)到CentOS7,對(duì)應(yīng)的PHP版本也升級(jí)到PHP5.6。我們熟悉的有LEMP環(huán)境一鍵安裝包,但是本文我們將單獨(dú)安裝各個(gè)組件模塊,并搭建一個(gè)完整的PHP運(yùn)行平臺(tái)。
我們常說(shuō)的LNMP環(huán)境是指Linux/nginx/MySQL/PHP組合,而LEMP是什么呢?其實(shí)Nginx的發(fā)音是Engine-X = E,LEMP包是由Linux、nginx、MariaDB/MySQL和PHP組成的,那么看來(lái)LEMP和LNMP是一樣的,而現(xiàn)在業(yè)內(nèi)習(xí)慣性的稱作LEMP。MariaDB是一款社區(qū)支持驅(qū)動(dòng)的MySQL數(shù)據(jù)庫(kù)的分支,其功能更多性能更佳,所以我們?cè)贑entOS7下安裝MariaDB。CentOS7我已經(jīng)安裝好了,現(xiàn)在只需安裝Nginx,MariaDB和PHP。
1、安裝Nginx
我們從nginx官方的RPM源來(lái)安裝一個(gè)預(yù)構(gòu)建的穩(wěn)定版本的nginx包。
$ 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
這樣,nginx就安裝上了,安裝完成后,nginx不會(huì)自動(dòng)啟動(dòng)?,F(xiàn)在需要做的是讓nginx自動(dòng)啟動(dòng),另外還要做些配置讓其可以隨著操作系統(tǒng)啟動(dòng)而啟動(dòng)。我們也需要在防火墻里打開(kāi)TCP/80端口,以使得可以遠(yuǎn)程訪問(wèn)nginx的web服務(wù)。所有這些操作、設(shè)置都只需要輸入如下命令就可實(shí)現(xiàn)。
$ sudo systemctl start nginx $ sudo systemctl enable nginx $ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent $ sudo firewall-cmd --reload
Nginx已經(jīng)啟動(dòng)了,現(xiàn)在來(lái)測(cè)試nginx。nginx在CentOS7下的默認(rèn)文檔要目錄是/usr/share/nginx/html。默認(rèn)的 index.html 文件一定已經(jīng)在這目錄下了。讓我們檢測(cè)下是否可以訪問(wèn)到這個(gè)測(cè)試 web 頁(yè),輸入 http://nginx的ip地址/訪問(wèn)。

2、安裝MariaDB/MySQL
CentOS/RHEL 7使用了MariaDB替代了默認(rèn)的 MySQL。作為MySQL的簡(jiǎn)單替代品,MariaDB保證了與MySQL的API和命令行用法方面最大的兼容性。下面是關(guān)于怎么在 CentOS7上安裝和配置MaraDB/MySQL的操作示例。
$ sudo yum install mariadb-server $ sudo systemctl start mariadb $ sudo systemctl enable mariadb
在成功啟動(dòng)MariaDB/MySQL服務(wù)后,還要進(jìn)行數(shù)據(jù)庫(kù)的安全配置,如設(shè)置(非空)的root密碼、刪除匿名用戶、鎖定遠(yuǎn)程訪問(wèn)。執(zhí)行如下代碼:
$ sudo mysql_secure_installation
根據(jù)提示設(shè)置root密碼,以及刪除匿名用戶等操作。
3、安裝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ù)。
首先檢查當(dāng)前安裝的PHP包。
yum list installed | grep php
如果有安裝的PHP包,先刪除他們。
給yum安裝添加源包。
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
運(yùn)行yum install。
使用yum命令來(lái)定制PHP引擎,安裝一些PHP擴(kuò)展模塊包。
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64
然后安裝PHP FPM。
yum install php56w-fpm
最后,啟動(dòng) PHP-FPM
$ sudo systemctl start php-fpm $ sudo systemctl enable php-fpm
4、配置LEMP,讓Nginx支持PHP
首先,禁用隨PHP包安裝的httpd服務(wù)。
$ sudo systemctl disable httpd
接下來(lái),配置nginx虛擬主機(jī),使得nginx可以通過(guò)PHP-FPM來(lái)處理PHP的任務(wù)。用文本編輯器打開(kāi)/etc/nginx/conf.d/default.conf,然后按如下所示修改。
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php index.html index.htm;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
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;
}
}
然后,配置PHP, 修改/etc/php.ini。
cgi.fix_pathinfo=1 date.timezone = PRC
最后,測(cè)試nginx是否能處理PHP頁(yè)面。在測(cè)試之前,請(qǐng)確保重啟nginx和PHP-FPM。
$ sudo systemctl restart nginx $ sudo systemctl restart php-fpm
創(chuàng)建一個(gè)叫名叫test.php的文件,然后寫(xiě)入如下內(nèi)容,并放入/usr/share/nginx/html/目錄。
<?php phpinfo(); ?>
打開(kāi)瀏覽器,輸入 http://nginx的IP地址/test.php 。看到以下界面則LEMP安裝完成。

以上所述是小編給大家介紹的CentOS 7.x下的LEMP環(huán)境搭建詳細(xì)教程,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- linux(centos)下SVN服務(wù)器如何搭建
- centos6.5下svn的使用說(shuō)明
- CentOS6.4 下安裝SVN的詳細(xì)教程(超詳細(xì))
- centos下yum搭建安裝linux+apache+mysql+php環(huán)境的方法
- CentOS上搭建PHP服務(wù)器環(huán)境的步驟與方法
- 阿里云基于CentOS用vsftpd搭建FTP服務(wù)器
- Centos6.5和Centos7 php環(huán)境搭建方法
- CentOS下搭建PHP環(huán)境與WordPress博客程序的全流程總結(jié)
- CentOS7下搭建ruby on rails開(kāi)發(fā)環(huán)境
- 在CentOS上搭建LAMP+vsftpd環(huán)境的簡(jiǎn)單指南
- CentOS中使用virtualenv搭建python3環(huán)境
- CentOS下搭建SVN服務(wù)器的步驟詳解
相關(guān)文章
淺談生產(chǎn)者消費(fèi)者模型(Linux系統(tǒng)下的兩種實(shí)現(xiàn)方法)
下面小編就為大家?guī)?lái)一篇淺談生產(chǎn)者消費(fèi)者模型(Linux系統(tǒng)下的兩種實(shí)現(xiàn)方法)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
淺談Linux下通過(guò)find命令進(jìn)行rm文件刪除的小技巧
下面小編就為大家?guī)?lái)一篇淺談Linux下通過(guò)find命令進(jìn)行rm文件刪除的小技巧。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
詳解Centos7.2安裝Nginx實(shí)現(xiàn)負(fù)載平衡
本篇文章主要介紹了詳解Centos7.2安裝Nginx實(shí)現(xiàn)負(fù)載平衡,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
Linux系統(tǒng)下netstat命令詳細(xì)介紹
大家好,本篇文章主要講的是Linux系統(tǒng)下netstat命令詳細(xì)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
linux中高并發(fā)socket最大連接數(shù)的優(yōu)化詳解
這篇文章主要給大家介紹了關(guān)于linux中高并發(fā)socket最大連接數(shù)優(yōu)化的相關(guān)資料,文中介紹的很詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-02-02
win2003下PHP使用preg_match_all導(dǎo)致apache崩潰問(wèn)題的解決方法
這篇文章主要介紹了win2003下PHP使用preg_match_all導(dǎo)致apache崩潰問(wèn)題的解決方法,詳細(xì)的分析了問(wèn)題產(chǎn)生原因以及解決方案,需要的朋友可以參考下2014-07-07
Apache中Virtual Host虛擬主機(jī)配置及rewrite參數(shù)說(shuō)明
這篇文章主要介紹了Apache中Virtual Host虛擬主機(jī)配置及rewrite模塊中的重要參數(shù)說(shuō)明,是在同一個(gè)Apache服務(wù)器軟件上部署多個(gè)站點(diǎn)的基礎(chǔ)方法,需要的朋友可以參考下2016-03-03

