首先介紹一下LAMP和LNMP
LMAP即Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的首字母縮寫。這是一組常用來(lái)搭建動(dòng)態(tài)網(wǎng)站或者服務(wù)器的開源軟件寄猩。它們本身都是各自獨(dú)立的程序韩玩,但是因?yàn)槌1环旁谝黄鹗褂醚璞桑瑩碛辛嗽絹?lái)越高的兼容度肩袍,共同組成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái)僻族。隨著開源潮流的蓬勃發(fā)展葛账,開放源代碼的LAMP已經(jīng)與J2EE和.Net商業(yè)軟件形成三足鼎立之勢(shì)柠衅,并且該軟件開發(fā)的項(xiàng)目在軟件方面的投資成本較低,因此受到整個(gè)IT界的關(guān)注籍琳。從網(wǎng)站的流量上來(lái)說(shuō)菲宴,70%以上的訪問流量是LAMP來(lái)提供的,LAMP是最強(qiáng)大的網(wǎng)站解決方案趋急。
Linux
Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng)喝峦,是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)呜达、支持多線程和多CPU的操作系統(tǒng)谣蠢。它能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議查近。它支持32位和64位硬件眉踱。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)霜威。
????本次使用的CentOS為L(zhǎng)inux的一個(gè)發(fā)行版谈喳。
Apache
Apache HTTP?Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁(yè)服務(wù)器,可以在大多數(shù)計(jì)算機(jī)操作系統(tǒng)中運(yùn)行戈泼,由于其多平臺(tái)和安全性被廣泛使用婿禽,是最流行的Web服務(wù)器端軟件之一。它快速矮冬、可靠并且可通過(guò)簡(jiǎn)單的API擴(kuò)展谈宛,將Perl/Python等解釋器編譯到服務(wù)器中。
????Apache的主程序名叫httpd胎署,這也是我們實(shí)驗(yàn)的時(shí)候需要安裝的程序之一吆录。
MySQL
?MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開發(fā)琼牧,目前屬于?Oracle?旗下產(chǎn)品恢筝。MySQL 最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)哀卫,在 WEB 應(yīng)用方面MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一撬槽。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng)此改,關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi)侄柔,這樣就增加了速度并提高了靈活性共啃。MySQL所使用的 SQL 語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL 軟件采用了雙授權(quán)政策暂题,它分為社區(qū)版和商業(yè)版移剪,由于其體積小、速度快薪者、總體擁有成本低纵苛,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫(kù)言津。由于其社區(qū)版的性能卓越攻人,搭配?PHP?和?Apache?可組成良好的開發(fā)環(huán)境。
?本次實(shí)驗(yàn)使用的數(shù)據(jù)庫(kù)軟件為MySQL的一個(gè)分支軟件悬槽,叫做MariaDB怀吻。
php
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預(yù)處理器”)是一種通用開源腳本語(yǔ)言初婆。語(yǔ)法吸收了C語(yǔ)言烙博、Java和Perl的特點(diǎn),利于學(xué)習(xí)烟逊,使用廣泛,主要適用于Web開發(fā)領(lǐng)域铺根。PHP 獨(dú)特的語(yǔ)法混合了C宪躯、Java、Perl以及PHP自創(chuàng)的語(yǔ)法位迂。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)访雪。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)文檔中去執(zhí)行掂林,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多臣缀;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行泻帮,使代碼運(yùn)行更快精置。
WordPress
WordPress是一種使用PHP語(yǔ)言開發(fā)的博客平臺(tái),用戶可以在支持PHP和MySQL數(shù)據(jù)庫(kù)的服務(wù)器上架設(shè)屬于自己的網(wǎng)站锣杂。也可以把 WordPress當(dāng)作一個(gè)內(nèi)容管理系統(tǒng)(CMS)來(lái)使用脂倦。WordPress是一款個(gè)人博客系統(tǒng)番宁,并逐步演化成一款內(nèi)容管理系統(tǒng)軟件,它是使用PHP語(yǔ)言和MySQL數(shù)據(jù)庫(kù)開發(fā)的赖阻。用戶可以在支持 PHP 和 MySQL數(shù)據(jù)庫(kù)的服務(wù)器上使用自己的博客蝶押。WordPress有許多第三方開發(fā)的免費(fèi)模板,安裝方式簡(jiǎn)單易用火欧。不過(guò)要做一個(gè)自己的模板棋电,則需要你有一定的專業(yè)知識(shí)。比如你至少要懂的標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用HTML代碼苇侵、CSS赶盔、PHP等相關(guān)知識(shí)。WordPress官方支持中文版衅檀,同時(shí)有愛好者開發(fā)的第三方中文語(yǔ)言包招刨,如wopus中文語(yǔ)言包。WordPress擁有成千上萬(wàn)個(gè)各式插件和不計(jì)其數(shù)的主題模板樣式哀军。?
LNMP和LAMP的區(qū)別
LNMP和LAMP的區(qū)別就在于使用Nginx而不是Apache沉眶。
????Nginx是一款輕量級(jí)的Web?服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like 協(xié)議下發(fā)行杉适。由俄羅斯的程序設(shè)計(jì)師Igor Sysoev所開發(fā)谎倔,供俄國(guó)大型的入口網(wǎng)站及搜索引擎Rambler(俄文:Рамблер)使用。其特點(diǎn)是占有內(nèi)存少猿推,并發(fā)能力強(qiáng)片习,事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好。
Nginx和Apache的優(yōu)缺點(diǎn)對(duì)比
nginx 相對(duì) apache 的優(yōu)點(diǎn):
????輕量級(jí)蹬叭,同樣起web 服務(wù)藕咏,比apache 占用更少的內(nèi)存及資源。
????抗并發(fā)秽五,nginx 處理請(qǐng)求是異步非阻塞的孽查,而apache 則是阻塞型的,在高并發(fā)下nginx 能保持低資源低消耗高性能坦喘。
????高度模塊化的設(shè)計(jì)盲再,編寫模塊相對(duì)簡(jiǎn)單。
????社區(qū)活躍瓣铣,各種高性能模塊出品迅速啊答朋。
apache 相對(duì)nginx 的優(yōu)點(diǎn):
????rewrite ,比nginx 的rewrite 強(qiáng)大棠笑。
????模塊超多梦碗,基本想到的都可以找到。
????少bug ,nginx 的bug 相對(duì)較多叉弦。
????超穩(wěn)定丐一。
動(dòng)手實(shí)操
假設(shè)你已經(jīng)安裝好了centos 了(如果不會(huì),可以直接在阿里云購(gòu)買)
先看下系統(tǒng)版本號(hào)淹冰,我當(dāng)前裝的是CentOs 7.4虛擬機(jī)
[itarea@centos-7 ~]$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
[itarea@centos-7 ~]$
Apache安裝
[itarea@centos-7 ~]$ yum install httpd -y
Loaded plugins: fastestmirror, langpacks
You need to be root to perform this command
報(bào)錯(cuò)提示沒有權(quán)限库车,解決辦法,改為root權(quán)限樱拴,然后輸入密碼回車
1
2
[itarea@centos-7 ~]$ su root
Password:
可以看到柠衍,用戶切換成了root,再執(zhí)行一遍安裝
1[root@centos-7 itarea]# yum install httpd -y
接下來(lái)晶乔,我們啟動(dòng)httpd服務(wù):
1[root@centos-7 itarea]# systemctl start httpd
[root@centos-7 itarea]# ss -tnl
State??????Recv-Q Send-Q Local Address:Port?????????????? Peer Address:Port??????????????
LISTEN???? 0??????128??????????*:111??????????????????????*:*??????????????????
LISTEN???? 0??????5??????192.168.122.1:53?????????????????????? *:*??????????????????
LISTEN???? 0??????128??????????*:22?????????????????????? *:*??????????????????
LISTEN???? 0??????128????127.0.0.1:631??????????????????????*:*??????????????????
LISTEN???? 0??????100????127.0.0.1:25?????????????????????? *:*??????????????????
LISTEN???? 0??????128???????? :::111???????????????????? :::*??????????????????
LISTEN???? 0??????128???????? :::80??????????????????????:::*??????????????????
LISTEN???? 0??????128???????? :::22??????????????????????:::*??????????????????
LISTEN???? 0??????128????????::1:631???????????????????? :::*??????????????????
LISTEN???? 0??????100????????::1:25??????????????????????:::*
可以看到http服務(wù)的80端口是處于監(jiān)聽狀態(tài)的珍坊。
MySQL安裝
1[root@centos-7 itarea]# yum install mysql mariadb-server -y
安裝完之后開啟MySQL服務(wù):
1[root@centos-7 itarea]# systemctl start mariadb
[root@centos-7 itarea]# ss -tnl
State??????Recv-Q Send-Q Local Address:Port?????????????? Peer Address:Port??????????????
LISTEN???? 0??????128??????????*:111??????????????????????*:*??????????????????
LISTEN???? 0??????5??????192.168.122.1:53?????????????????????? *:*??????????????????
LISTEN???? 0??????128??????????*:22?????????????????????? *:*??????????????????
LISTEN???? 0??????128????127.0.0.1:631??????????????????????*:*??????????????????
LISTEN???? 0??????100????127.0.0.1:25?????????????????????? *:*??????????????????
LISTEN???? 0??????50?????????? *:3306???????????????????? *:*??????????????????
LISTEN???? 0??????128???????? :::111???????????????????? :::*??????????????????
LISTEN???? 0??????128???????? :::80??????????????????????:::*??????????????????
LISTEN???? 0??????128???????? :::22??????????????????????:::*??????????????????
LISTEN???? 0??????128????????::1:631???????????????????? :::*??????????????????
LISTEN???? 0??????100????????::1:25??????????????????????:::*
可以看到mysql服務(wù)的3306端口是處于監(jiān)聽狀態(tài)的。
進(jìn)入Mysql正罢,mysql第一次安裝默認(rèn)是沒有密碼的阵漏,輸入后直接回車就行
[root@centos-7 itarea]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.??Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
創(chuàng)建一個(gè)名為wordpress的數(shù)據(jù)庫(kù)
Welcome to the MariaDB monitor.??Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)
查看數(shù)據(jù)庫(kù),并切換到mysql數(shù)據(jù)庫(kù)
MariaDB [(none)]> show databases;
+--------------------+
| Database?????????? |
+--------------------+
| information_schema |
| mysql??????????????|
| performance_schema |
| test?????????????? |
| wordpress??????????|
+--------------------+
5 rows in set (0.00 sec)
MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]>
更改數(shù)據(jù)庫(kù)用戶名為root密碼
1MariaDB [mysql]> update user set password=password('新密碼') where user='root';
刷新用戶權(quán)限列表翻具,并退出重新登錄
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> exit
php安裝
1[root@centos-7 itarea]# yum install php php-mysql php-gd php-xml -y
進(jìn)入httpd主服務(wù)目錄
1[root@centos-7 itarea]# cd /var/www/html
點(diǎn)擊I切換到Insert模式履怯,輸入以下內(nèi)容,按ecs鍵裆泳,輸入:wq? ?并回車
? echo phpinfo();
?>
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????????????????????????
:wq
然后叹洲,打開瀏覽器,輸入主機(jī)http://ip/phpinfo.php就可以看到PHP的信息:
WordPress安裝
安裝WordPress并解壓工禾,WordPress最新版下載地址:https://cn.wordpress.org/txt-download/
[root@centos-7 html]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
[root@centos-7 html]# unzip wordpress-4.9.4-zh_CN.zip
注意:如果下載的地址不在/var/www/html目錄下运提,你需要將文件移動(dòng)到該目錄下
1[root@centos-7 html]# cp -r wordpress/* /var/www/html
進(jìn)入/var/www/html目錄,復(fù)制wp-config-sample.php文件并將其命名為wp-config.php并編輯wp-config.php
[root@centos-7 html]# sudo cp wp-config-sample.php wp-config.php
[root@centos-7 html]# vim wp-config.php
然后找到下面這些內(nèi)容闻葵,修改database_name_here為剛剛新建的數(shù)據(jù)庫(kù)(本位為wordpress)民泵,username_here為root,密碼為修改后的密碼槽畔,然后按ecs輸入:wq? 退出保存
// ** MySQL 設(shè)置 - 具體信息來(lái)自您正在使用的主機(jī) ** //
/** WordPress數(shù)據(jù)庫(kù)的名稱 */
define('DB_NAME', 'database_name_here');
/** MySQL數(shù)據(jù)庫(kù)用戶名 */
define('DB_USER', 'username_here');
/** MySQL數(shù)據(jù)庫(kù)密碼 */
define('DB_PASSWORD', 'password_here');
/** MySQL主機(jī) */
define('DB_HOST', 'localhost');
/** 創(chuàng)建數(shù)據(jù)表時(shí)默認(rèn)的文字編碼 */
define('DB_CHARSET', 'utf8');
/** 數(shù)據(jù)庫(kù)整理類型洪灯。如不確定請(qǐng)勿更改 */
define('DB_COLLATE', '');
安裝wordpress,在瀏覽器地址欄輸入http://ip地址/wp-admin/setup-config.php竟痰,博主是本地測(cè)試的,所以ip地址為localhost(127.0.0.1)
點(diǎn)擊現(xiàn)在就開始掏呼,如果剛剛已經(jīng)配置了wp-config.php就會(huì)出現(xiàn)左圖坏快,如果沒有配置就會(huì)出現(xiàn)右圖
點(diǎn)擊提交
點(diǎn)擊安裝wordpress,點(diǎn)擊登錄
輸入用戶名和密碼憎夷,登錄
成功啦莽鸿,接下來(lái)的時(shí)間就交給你咯,嘿嘿,成功后祥得,可以給博主留下網(wǎng)址喲兔沃,和博主一塊分享下。