各位看官!對方回來了!作為回來的帶來LAMP運維黃金架構來部署一個小項目discuz論壇,來作為對於linux部署的熟悉以及相關技能練習。這是各位走上linux雲計算道路的第一步,話不多説一下是文字主要內容:

---------------------------------------------------------------------------------------------------------------------------------

1.LAMP黃金架構是什麼鬼?

  1.1L是什麼:

  L是對於linux的表示,也就是在linux系統下進行的

  1.2A是什麼:

  這裏是指的是apache也就是前端的用户交互界面,這裏是apache只作為練習部署的整個流程不作為主要學習內容。因為市面上主要的部署前端為nginx了,apache現在可以説是比較過時了,作為了解以及練習內容為主。

工作面試時很好去考基本都是問nginx

  1.3M是什麼:

  這裏説是的mysql也就是數據庫,沒有部署一個全流程的網站一定會有的數據庫用於數據存儲和便於代碼調用查詢等

  1.4P是什麼:

  這裏是説是php也就是主要的計算機語言,用於作為邏輯判斷以及傳遞等。是主要的處理數據與傳遞的

2.discuz是什麼鬼?

  2.1discuz介紹:

  discuz是我們這一次主要的部署的內容也就是:類似博客論壇,這是我們這一次選擇的部署項目核心

  選擇部署disucuz主要是便於瞭解部署過程,以及最為主要的是這個部署小項目也是較為簡單的,也便於各位看官們瞭解以及練習的項目

  2.2discuz地址:

https://www.discuz.vip//index

  2.3discuz前提下載:

https://www.discuz.vip/download

下載最新的版本,提前下載到win中

部署lamp搭建discuz論壇_51CTO博客_apache

3discuz部署流程

  3.1在linux中安裝LAMP軟件,前期準備

        3.1.1下載apache2以及相關檢查

先説明我這裏用的linux是:ubuntu的

1.sudo apt install apache2   

下載後完成後使用

2.dpkg -l apache2

#查看系統包中是否有apache2了

部署lamp搭建discuz論壇_51CTO博客_apache_02

3.檢查端口以及服務:

netstat -tunlp | grep apache2

ss -tunlp | grep apache2

#這兩個命令都可以使用

部署lamp搭建discuz論壇_51CTO博客_php_03

4.檢查服務是否是開啓的

systemctl status apache2

#檢查服務是否正常開啓

部署lamp搭建discuz論壇_51CTO博客_#架構_04

5.檢查進程是否正常以及啓動用户是誰

ps -ef | grep apache2

#查看進程以及用户信息

部署lamp搭建discuz論壇_51CTO博客_#架構_05

6.去到apaceh2的index.html文件並打開在瀏覽器中

部署lamp搭建discuz論壇_51CTO博客_mysql_06

部署lamp搭建discuz論壇_51CTO博客_mysql_07

#這裏的ip地址是您linux的不要搞錯了,使用ifconfig\ip add 可以查詢

到這裏可以看到就説明您的apache是正常的了

       3.1.2下載MySQL以及相關檢查等

1.下載mysql

sudo apt install mysql-server mysql-client

#下載MySQL

2.使用命令查看mysql安裝與否

mysql -V

#查看系統中是否有了mysql包

部署lamp搭建discuz論壇_51CTO博客_#架構_08

3.如果有需要可以修改可以對外訪問公網

netstat -tunlp | grep mysql

#查看監聽端口

部署lamp搭建discuz論壇_51CTO博客_#架構_09

訪問文件地址修改配置文件

部署lamp搭建discuz論壇_51CTO博客_php_10

編輯mysqld.conf,修改ip地址

部署lamp搭建discuz論壇_51CTO博客_mysql_11

修改後保存並退出,修改成0.0.0.0

再次查看監聽

部署lamp搭建discuz論壇_51CTO博客_php_12

發現沒有修改從新啓動服務

systemctl restart mysql

再次查看監聽

部署lamp搭建discuz論壇_51CTO博客_apache_13

4.進入數據庫mysql

mysql 

#進入數據庫

查看數據庫

show databses;

部署lamp搭建discuz論壇_51CTO博客_mysql_14

進入mysql數據庫中,並確定是否切換了

sue mysql;

部署lamp搭建discuz論壇_51CTO博客_mysql_15

查看數據表

show tables;

部署lamp搭建discuz論壇_51CTO博客_apache_16

查看user表信息,並展示數據表

desc user;


select host,user,plugin from mysql.user;

部署lamp搭建discuz論壇_51CTO博客_#運維_17

這裏就是用户的登錄密碼以及用户

5.增加用户

CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'jjq';

#創建用户為root所有主機上身份用密碼jjq登錄

部署lamp搭建discuz論壇_51CTO博客_#架構_18

6.給用户設置權限,並授予遠程連接權限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

#授予所有權限,在所有數據庫中和表中,給root%,所有操作權限

部署lamp搭建discuz論壇_51CTO博客_apache_19

再次查看user表中信息

部署lamp搭建discuz論壇_51CTO博客_apache_20

7.從新加載資源

flush privileges;

#刷新權限

部署lamp搭建discuz論壇_51CTO博客_#運維_21

8.遠程連接數據庫(使用datagrip)

添加數據源

部署lamp搭建discuz論壇_51CTO博客_#運維_22

連接數據庫

部署lamp搭建discuz論壇_51CTO博客_#運維_23

到這裏就可以遠程連接了,也就是説mysql安裝成功

       3.1.3php安裝以及相關檢查配置等

1.下載php

sudo apt install php

#安裝php

2.查看系統中是否有php包

dpkg -l | grep php

#查看系統是否有php包

部署lamp搭建discuz論壇_51CTO博客_apache_24

#php相當於這個整個項目部署的真正處理請求以及執行相關命令的真正控制在

#因此需要php作為調度

#而在調度過程中需要給予相關的權限也就是

#授予php可以跟前端進行訪問的權限

#授予php可以跟數據庫進行訪問的權限

#這裏説白了也就是增加驅動,做到真正的將apache、php、mysql連接在一起

部署lamp搭建discuz論壇_51CTO博客_mysql_25

3.下載apache、php、mysql連接的驅動

apt install libapache2-mod-php php-mysql

4.驗證php是否可以使用

去到/var/www/html/

創建php文件

部署lamp搭建discuz論壇_51CTO博客_php_26

5.瀏覽器驗證

部署lamp搭建discuz論壇_51CTO博客_php_27

查看最後一行是否有寫入的內容

部署lamp搭建discuz論壇_51CTO博客_apache_28

到這裏就説明php成了

  3.2加入discuz,開始正式部署

1.將下載號的discuz通過遠程連接工具xshell導入(沒有的可以通過命令行導入)

導入到/var/www/html/

部署lamp搭建discuz論壇_51CTO博客_#運維_29

wget https://gitee.com/Discuz/DiscuzX/attach_files/2335009/download

部署lamp搭建discuz論壇_51CTO博客_#運維_30

這裏導入的時候一定要注意是否有權限限制,如果有權限限制,需要退到普通用户在進行導入

部署lamp搭建discuz論壇_51CTO博客_#運維_31

2.解壓discuz,沒有unzip需要下載

sudo apt install unzip

unzip 文件名

部署lamp搭建discuz論壇_51CTO博客_#運維_32

3.查看discuz官方操作

部署lamp搭建discuz論壇_51CTO博客_#架構_33


4.將upload目錄下的所有內容移動到/var/www/html/

mv  ./upload/* .

部署lamp搭建discuz論壇_51CTO博客_apache_34


5.訪問ip地址/install進行安裝

部署lamp搭建discuz論壇_51CTO博客_mysql_35

6.解決discuz部署遇到的坑

看到這個就説明discuz的權限問題,查看權限

部署lamp搭建discuz論壇_51CTO博客_php_36

查看當前/var/www/html/權限

部署lamp搭建discuz論壇_51CTO博客_php_37

# 發現所有的相關權限都是root權限,那我要這麼修改呢?是一個個文件修改成任何的文件嗎?不是!!

# 這裏主要是想清楚到底是誰在訪問的?,是用户,用户通過什麼訪問的?,是apache

# 因此可以得出我們只要修改為apache的權限就可以了

7.查看apache的用户權限是誰,誰在管理進程,誰就有權限

ps -ef | grep apache

部署lamp搭建discuz論壇_51CTO博客_#架構_38

從中可以得出apache2的用户是www-data在執行的權限操作

將之前的問題權限修改為www-data

8.修改權限

發現有的是文件夾,有的是文件因此使用-R

chown -R  www-data:www-data /var/www/html/

部署lamp搭建discuz論壇_51CTO博客_#運維_39

9.查看/install是否正常

部署lamp搭建discuz論壇_51CTO博客_apache_40

我們會發現還有一個問題説是php沒有xml,對此,我們可以通過AI訪問是什麼問題或者去查詢

部署lamp搭建discuz論壇_51CTO博客_#運維_41

10.下載php-xml驅動,並查詢

部署lamp搭建discuz論壇_51CTO博客_php_42

11.查看/install並下一步

部署lamp搭建discuz論壇_51CTO博客_#架構_43

不做修改

部署lamp搭建discuz論壇_51CTO博客_apache_44

填寫數據內容,基本都是設置密碼的,但不要忘了您是數據庫密碼是多少?

部署lamp搭建discuz論壇_51CTO博客_apache_45

下面的管理密碼設置自己設置了,後點擊安裝就差不多了

部署lamp搭建discuz論壇_51CTO博客_mysql_46

看到這裏基本上您的discuz基本完畢

但我們想要去查看我們的瀏覽器發現還是不是默認打開的

只輸入ip地址打開的還是自己的apache的index.html

部署lamp搭建discuz論壇_51CTO博客_#運維_47

我們輸入ip地址/test-info.php

打開的才我們的主頁

部署lamp搭建discuz論壇_51CTO博客_#架構_48

因此,這樣的問題,我們還有去修改誰呢?apache2,修改什麼?修改apache2網頁配置文件

12.修改apache2配置文件,通過默認ipd地址直接打開論壇網頁

去到apache的配置文件,

部署lamp搭建discuz論壇_51CTO博客_mysql_49

並添加路徑地址為index.php

部署lamp搭建discuz論壇_51CTO博客_apache_50

13.通過瀏覽器ip地址打開驗證是否可以打開論壇

部署lamp搭建discuz論壇_51CTO博客_#架構_51

我們發現我們刷新了,還是沒有打開,為什麼呢?我們是前端頁面是誰?apache2,我們修改了apache2的配置文件,apache2知道了嗎?不知道,那麼如何讓它知道?重啓apache2服務

14.重啓apache2服務

systemctl restart apache2.server

部署lamp搭建discuz論壇_51CTO博客_#運維_52

15.再次驗證瀏覽器ip地址打開論壇

部署lamp搭建discuz論壇_51CTO博客_#架構_53

哦i了!!!!!

看到這裏基本就完成了部署任務

是不是很簡單!!!

是不是嘎嘎爽!

---------------------------------------------------------------------------------------------------------------------------------

        各位看官!!正文部分結束了!!是不是嘎嘎爽!!一這部分還是老樣子,對方的牢騷。目前來説,基本沒有什麼難的吧?應該是啊!別的真的卡主了,這個真的沒有什麼難的!就是簡單的部署而已,而且基本主要的discuz部署還是通過瀏覽器進行的還沒有涉及到要直接進行編譯的部分呢!所有不難的,但有些內容還是要進行在次的叮囑:

        遇到問題不要慌!這都是小問題。只有您不是刪庫跑路就沒問題😄。主要的注意點是一定要知道是誰的連接?、誰是操作?、用户是誰?、是誰在進行的權限?、以及權限設置?、相關apt的使用以及包的找尋和驅動的理解?。。。。。

        沒錯,就差不多是這樣的問題。如果各位看官還有被的問題,那就是説明您的基礎較薄弱了。您該去學習linux基礎了,還不去學,睡什麼睡?這個時代了您還睡的着,醒醒AI來收您了!!!(咳咳!開玩笑的,別介意)。

        各位看官!!路途遙遠,山不在高,曲折不易,只要走便回到!

                                                                                星光路上,您和我!望君共勉!!------對方