LAMP 建立 Wordpress 網站 Linux Apache MariaDB PHP

來源:互聯網
上載者:User

標籤:本地   重新整理   grants   虛擬機器   掛載   eve   port   pass   yum   

使用LAMP建立Wordpress, 要求如下:

 

準備工作: 
  1. VMware 14
  2. CentOS 7.4 最小化 安裝鏡像
  3. Wordpress 安裝包,  下載
預熱:
  1. 使用VMware建立4台虛擬機器, 並安裝 --> 可以先安裝一台CentOS 7 最小系統, 然後使用複製功能 複製出另外三台, 直接安裝還快些;
  2. 設定yum源, 與網卡等基本應用, 使用 yum -y update
  3. 記錄各個主機的ip
MariaDB主機 192.168.142.128/24
 nfs 192.168.142.140/24
httpd1 192.168.142.135/24
httpd2 192.168.142.141/24

 

 

  開始:
  • httpd1/2 共用設定 --> 配置PHP, httpd 和 mariadb 用戶端
    1. yum -y install httpd php php-devel php-mysql mariadb
    2. systemctl start httpd
    3. vim /var/www/html/index.php --> <?php phpinfo(); ?>
    4. systemctl reload httpd
    5. 測試php載入是否成功:

  • MariaDB伺服器設定:
    1. yum -y install mariadb mariadb-server --> 安裝mariadb的 用戶端 和 服務端
    2. mysql -uroot -p --> 登陸到本地mysql服務端執行如下操作
      1. 建立庫 wpress --> CREATE DATABASE wpress;
      2. 建立Wordpress專用使用者及授權 --> 
        GRANT SELECT,UPDATE,ALTER,INSERT,CREATE,DELETE ON wpress.* TO ‘wpuser‘@‘192.168.142.%‘ IDENTIFIED BY ‘password‘;
    3. httpd端進行登陸測試 --> 

      mysql -uwpress -h192.168.142.128 -ppassword
      >SHOW GRANTS; --> 登陸進mysql伺服器後,使用此命令顯示授權資訊;

      MariaDB [(none)]> show grants;
      +-------------------------------------------------------------------------------------------------------------------+
      | Grants for [email protected]% |
      +-------------------------------------------------------------------------------------------------------------------+
      | GRANT USAGE ON *.* TO ‘wpuser‘@‘192.168.142.%‘ IDENTIFIED BY PASSWORD ‘*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9‘ |
      | GRANT SELECT, INSERT, UPDATE, CREATE, DELETE, ALTER ON `wpress`.* TO ‘wpuser‘@‘192.168.142.%‘ |
      +-------------------------------------------------------------------------------------------------------------------+
      2 rows in set (0.00 sec)

      • 進行php-mysql的串連測試:
        vim /var/www/html/index.php --> ↓修改如下↓
        <?php     echo ‘<title>        This is a PHP page    </title>‘;    $link=mysql_connect(‘192.168.142.128‘,‘wpuser‘,‘password‘);    if ($link)    echo "Mysql Connected"; --> 串連成功    else    echo "Mysql Failed";    mysql_close();phpinfo();?>

         

         

 

  • 配置Wordpress到httpd 1伺服器中, 準備配置好後直接拷貝到 nfs 上面去
    • 下載源碼包 後使用xftp匯入 httpd1 伺服器中, 解壓得到:

 

    • 訪問httpd伺服器1 上的 wp網站: http://192.168.142.135/wordpress
      • 根據提示產生 wp-config.php檔案內容; 或者, 直接在wordpress/ 目錄下,  cp wp-config-sample.php wp-config.php , 修改最上面幾行的 define(‘DB_NAME‘, ‘database_name_here‘); 的_here為你自己設定的資料庫即可;
      • 重新整理頁面, 按照提示設定
      • 如果提示需要修改資料庫內容 --> 最好能夠直接刪掉wpress, 再建立一個wpress;
      • 查看網站, 測試網站, 建立使用者等;

  • 配置httpd2 服務端
    1. 配置 httpd2伺服器, 安裝 httpd mariadb php php-mysql 進行測試
  •  nfs伺服器配置:
    1. yum -y install nfsd-utils --> 安裝nfs共用環境
    2. mkdir -pv /share/wp 我用此目錄做nfs共用目錄
    3. 編輯 /etc/exports 定義該共用檔案系統/share/wp 192.168.142.0/24(rw,no_root_squash)
    4. systemctl start nfs 啟動服務
    5. 使用 showmount -e localhost 查看是否分享成功
      [[email protected] ~]# showmount -e localhostExport list for localhost:/share/wp 192.168.142.0/24
    6. 在 httpd1 和 httpd2 分別安裝nfs-utils , 然後掛載 /share/wp 檔案系統 mount -t nfs 192.168.142.140:/share/wp /var/www/html/ --> 這裡偷個懶, 直接掛載到httpd的預設資源路徑, 省得修改...
    7. 隨手建立一個 index.php <?php echo "This page is from NFS Server"; phpinfo(); ?> , 再訪問:

 

  • 拷貝httpd1上配置好的wordpress/到nfs伺服器上, 訪問查看是否正常:                                                                                                                  
  • 但是這麼做有一個問題: 管理頁面都會跳轉到 httpd1 的伺服器上, 那麼我們刪除這個wp網站重新做一遍試試看;
    •  刪除wordpress/, 刪除資料庫建立

    • 在nfs伺服器上解壓安裝wordpress
    • 為了實驗效果, 我們這次使用 httpd2 這台伺服器來配置wp --> 結果: 登陸後一樣會跳轉到httpd2 這台主機上來;
  • 上傳檔案問題:
    • 由於httpd伺服器上的 httpd服務 都是使用apache使用者身份啟動並執行, 我們需要為apache使用者增加對 /var/www/html 目錄的寫入權限。但是!使用 chmod 766 後, wordpress 整個網站都掛了;
    • 嗯,需要 x 許可權 才能正確訪問;
    • 仔細查看了wp對上傳時候的報錯, 發現: /wordpress/wp-content 才是需要更改 777 許可權的, 更改了之後, 上傳正常;
最終測試

 

總結:
  1. 最開始的將wp網站資源分別放在httpd1和httpd2上是錯誤的; 正確做法是放在 nfs 上, 這樣所有的訪問都會從nfs 調用靜態資源;
  2. nfs巨卡,效能差勁;
  3. 無可避免的, 無論在哪一台 httpd 上完成wordpress的初始化, 系統管理權限登陸最終都會跳轉到那台進行初始化的伺服器上;還沒有搞懂為什麼;
  4. 對開篇的結構圖的補充內容:httpd伺服器只提供httpd服務, 不放靜態資源;
  5. 幾個需要注意的點:
    1. mariadb 對wpuser的授權需要 DELETE 許可權;
    2. nfs的搭建安裝包是  nfs-utils;
    3. 這種形式的網站不好用。

 

 

相關命令整理:

 

nfs伺服器: nfsd(nfs-utils), mountd, idmapd

showmount -e HOST_IP
showmount -a HOST_IP 顯示指定NFS上所有的掛載

掛載
mount -t nfs SERVER:/path/to/shared_fs /path/to/mount_point

/etc/exports: 格式:
directory (or file system) client1(option1, option2) client2(option1, option2)

LAMP 建立 Wordpress 網站 Linux Apache MariaDB PHP

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.