Centos7.5搭建lnmp(詳細(xì)+實戰(zhàn))

目錄:

1)LNMP簡介
2)安裝nginx1.4
3)安裝php7.2
4)安裝mariadb10.2
5)總結(jié)

一启摄、LNMP簡介

L:linux洁闰,是目前最流行的免費操作系統(tǒng)蝶糯,版本有很多琉雳,rehat,debian割笙,ubuntu沦偎,centos等等,我用的是centos7.5咳蔚。
N:nginx,是一個高性能的HTTP和反向代理服務(wù)器搔驼,也是一個IMAP/POP3/SMTP代理服務(wù)器谈火。nginx市場份額越來越大,這里也可以選擇Apache舌涨,老大哥糯耍,寶刀未老。
M:Mysql是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)囊嘉,我覺得已經(jīng)不小了温技,對于絕大多數(shù)的情況,夠用了扭粱,這里我用的mariadb10.2舵鳞,mariadb和mysql都是出自同個作者,這里不講它們的故事琢蛤。
P:世界上最好的編程語言蜓堕,一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言。
linux+nginx+mysql/mariadb+php,這四個開源項目組在一起博其,成為一個免費套才、高效、擴展性強的網(wǎng)站服務(wù)系統(tǒng)慕淡,這是一個網(wǎng)站服務(wù)器架構(gòu)背伴,學(xué)會它就能打通任督二脈,無忌峰髓,跟著為師走傻寂。

二、安裝nginx

  1. 防火墻設(shè)置儿普,允許http,https通信崎逃。
firewall-cmd --zone=public --add-service=http  --permanent    //允許http通信
firewall-cmd --zone=public --add-service=https  --permanent  //允許https通信
firewall-cmd --zone-public --add-port=80/tcp --permanent 打開80端口
firewall-cmd --zone-public --add-port=443/tcp --permanent 打開443端口
firewall-cmd --zone-public --add-port=8080/tcp --permanent 打開8080端口
firewall-cmd --reload     //重新加載配置
  1. 下載基本的庫文件

yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
  1. 配置nginx官方源,下載和安裝
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
//安裝nginx
yum install nginx
  1. 了解基本配置文件
    主配置文件:/etc/nginx/nginx.conf
    默認(rèn)配置文件:/etc/nginx/conf.d/default.conf
    我們編輯一下default.conf這個文件眉孩。
    注意个绍,這里server_name 我寫的是我這臺電腦的局域網(wǎng)地址及訪問端口勒葱,你可以設(shè)置其它或者默認(rèn)不變
    簡單設(shè)置
  1. 局域網(wǎng)訪問測試一下
systemctl start nginx

nginx局域網(wǎng)訪問成功

到這里nginx安裝使用成功,如果你這里無法訪問巴柿,絕大多數(shù)情況下是SELINUX和防火墻的問題凛虽。注意,如果你是云服務(wù)器的話是需要在服務(wù)商后臺那里添加安全組策略的广恢。

三凯旋、安裝php7.2

  1. 配置php7.2yum源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
  1. 安裝php7.2及一些擴展工具
yum  install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml 
  1. 啟動php-fpm
systemctl start php-fpm  //啟動
systemctl enable php-fpm  //設(shè)置開機啟動

注意,nginx是通過php-fpm處理php文件的钉迷。

  1. 讓nginx支持php
vim /etc/nginx/conf.d/default.conf
location ~ \.php$ {
        root          /usr/share/nginx/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
systemctl restart nginx  //重啟服務(wù)
注意紅色方框區(qū)域
  1. 運行一個php文件
vim /usr/share/nginx/html/index.php //編輯文件
代碼如下:
<?php
    phpinfo();
?>

保存至非,在瀏覽器訪問試一下。

運行php文件

四糠聪、安裝數(shù)據(jù)庫mariadb10.2

  1. 卸載系統(tǒng)自帶的數(shù)據(jù)庫
    首先荒椭,centos7.5里面自帶的mariadb5.5版本的,所以第一步舰蟆,我先卸載掉很老老老老老老的版本趣惠。
rpm -qa|grep mariadb
yum remove mariadb-*文件

它會刪除一些依賴文件,不用擔(dān)心身害。

  1. 配置mariadb10.2yum源
vim /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.2 CentOS repository list - created 2019-01-08 08:30 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

以上配置的源是mariadb官方源味悄,下載速度,一個星期的時間是完全可以下載下來的塌鸯。
如果你想一根煙的時間就能完成下載侍瑟,替換為國內(nèi)源:

[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

保存退出。

yum clean&&yum update  //更新一下yum源
yum install MariaDB-client MariaDB-server //安裝

systemctl start mariadb
systemctl enable mariadb //設(shè)置開機啟動

OK界赔,mariadb安裝完成丢习。

  1. 初始化mariadb
    首先使用mysql_secure_installation命令進(jìn)行配置。
    根據(jù)自己的要求配置淮悼,可以按照我的圖片走咐低。
Set root password? [Y/n] <– 是否設(shè)置root用戶密碼,輸入y并回車或直接回車
New password: <– 設(shè)置root用戶的密碼
Re-enter new password: <– 再輸入一次你設(shè)置的密碼
其他配置
Remove anonymous users? [Y/n] <– 是否刪除匿名用戶袜腥,回車
Disallow root login remotely? [Y/n] <–是否禁止root遠(yuǎn)程登錄,回車,
Remove test database and access to it? [Y/n] <– 是否刪除test數(shù)據(jù)庫见擦,回車
Reload privilege tables now? [Y/n] <– 是否重新加載權(quán)限表,回車
跟著圖片走

登錄

mysql -uroot -p  //本地登錄
登錄成功
  1. 簡單配置mariadb
    先配置服務(wù)端羹令,配置文件:/etc/my.cnf.d/server.cnf
vim /etc/my.cnf.d/server.cnf
在[mysqld]標(biāo)簽下添加以下內(nèi)容
init_connect='SET collation_connection = utf8_unicode_ci' 
init_connect='SET NAMES utf8' 
character-set-server=utf8 
collation-server=utf8_unicode_ci 
skip-character-set-client-handshake
保存退出

再配置客戶端鲤屡,配置文件:/etc/my.cnf.d/mysql-clients.cnf

vim /etc/my.cnf.d/mysql-clients.cnf
在[mysql]中添加
default-character-set=utf8
保存退出

重啟mariadb服務(wù)

systemctl restart mariadb

之后登錄mariadb,輸入下面代碼福侈,查看一下我們的設(shè)置有沒有成功酒来。

show variables like "%character%";show variables like "%collation%";
配置沒問題
  1. 測試mariadb
    現(xiàn)在nginx,php,mariadb都有了,我們來做個簡單的測試肪凛,寫個簡單的代碼堰汉,訪問數(shù)據(jù)庫辽社。
vim /usr/share/nginx/html/index.php
代碼:
<?php
$link=mysqli_connect("localhost","賬號","密碼","數(shù)據(jù)庫");
if(!$link){
        echo "Game Over." .PHP_EOL;
        echo "Debugging errno:" .mysqli_connect_errno() .PHP_EOL;
        echo "Debugging error:" .mysqli_connect_error() .PHP_EOL;
        exit;
}
else{
        echo "Very Good" .PHP_EOL;
        echo "Host information:" .mysqli_get_host_info($link) .PHP_EOL;
}
mysqli_close($link);

?>

我們在瀏覽器訪問看看。


局域網(wǎng)沒問題

有些朋友寫的不是localhost,而是127.0.0.1,可能會出現(xiàn)Permission denied權(quán)限問題翘鸭,如下圖滴铅。


Permission denied

這是因為selinux攔截了,我們設(shè)置以下就可以就乓。
setsebool httpd_can_network_connect_db = on

用localhost比127.0.0.1在安全及性能上都要好汉匙,感興趣的朋友可以閱讀相關(guān)文檔。

五生蚁、總結(jié)

到這里噩翠,LNMP就搭建成功了,我第一次配置的時候遇到很多權(quán)限問題邦投,其實也是好事绎秒。從問出現(xiàn),到分析問題,再到解決問題,你會收獲很多知識助被,那些問題讓你的腦袋不斷的思考鲸阻,最后,你打通了任督二脈阅懦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末和二,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子耳胎,更是在濱河造成了極大的恐慌惯吕,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怕午,死亡現(xiàn)場離奇詭異废登,居然都是意外死亡,警方通過查閱死者的電腦和手機郁惜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門堡距,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人兆蕉,你說我怎么就攤上這事羽戒。” “怎么了虎韵?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵易稠,是天一觀的道長。 經(jīng)常有香客問我包蓝,道長驶社,這世上最難降的妖魔是什么企量? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮衬吆,結(jié)果婚禮上梁钾,老公的妹妹穿的比我還像新娘。我一直安慰自己逊抡,他們只是感情好姆泻,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著冒嫡,像睡著了一般拇勃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上孝凌,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天方咆,我揣著相機與錄音,去河邊找鬼蟀架。 笑死瓣赂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的片拍。 我是一名探鬼主播煌集,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼捌省!你這毒婦竟也來了苫纤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤纲缓,失蹤者是張志新(化名)和其女友劉穎卷拘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祝高,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡栗弟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了工闺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片横腿。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖斤寂,靈堂內(nèi)的尸體忽然破棺而出耿焊,到底是詐尸還是另有隱情,我是刑警寧澤遍搞,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布罗侯,位于F島的核電站,受9級特大地震影響溪猿,放射性物質(zhì)發(fā)生泄漏钩杰。R本人自食惡果不足惜纫塌,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望讲弄。 院中可真熱鬧措左,春花似錦、人聲如沸避除。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓶摆。三九已至凉逛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間群井,已是汗流浹背状飞。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留书斜,地道東北人诬辈。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像荐吉,于是被迫代替她去往敵國和親自晰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345