CentOS 7安裝WordPress


在開始本文前,我假定你已經安裝好了nginx、php-fpm和mariaDB(或mysql)。它們的安裝過程可參考我以前的文章。

1. 安裝EPEL(Extra Packages for Enterprise Linux ):

# yum install epel-release

2. 安裝wordpress:

# yum install wordpress

安裝好的wordpress在/usr/share/wordpress.

(以下步驟參考wordpress官網www.wordpress.org)

3. 配置文件在/etc/wordpress/wp-config.php,在/usr/share/wordpress下也有該文件的link

4. 在修改上述配置之前,我們需要先配置好數據庫。

4.1 開啟mariadb server:

# systemctl enable mariadb

# systemctl start mariadb

4.2 設置mariadb的root密碼:

#  mysqladmin -u root password your_mariadb_password

4.3 建立數據庫和操作員:

# create database your_database_name;

# grant all privileges on your_database_name.* to "operator_name"@"localhost" identified by "operator_passwd";

# flush privileges;

# exit

5. 我們使用nginx,因此將wp-config.php的讀權限賦予nginx:

# chgrp nginx wp-config.php

6. 修改wp-config.php:

    修改DB_NAME、DB_USER、DB_PASSWORD;

    使用wordpress的在線salt generator產生Security Keys,替換原文件里的相應內容;

    (salt generator: https://api.wordpress.org/secret-key/1.1/salt/)

9. 將wordpress安裝目錄復制到/usr/share/nginx/blog,原/usr/share/wordpress作為備份。復制完成后,刪除新目錄里wp-config.php的link,以文件形式從原始位置(/etc/wordpress/wp-config.php)重新復制一份。注意該文件權限應該不允許一般用戶進行讀操作(660或640);

10. 將blog目錄的own和group修改為網站文件所有者(一般為上傳網站的FTP賬號)(-R);

      說明1:此處假定你的php-fpm按照我前面的blog進行了配置,使用了FTP賬號作為php-fpm的user/group。

11. 執行https://your_web_site/blog/wp-admin/install.php

      說明:因為前面我們已經手工修改了wp-config.php,所以此處不需要setup-config.php。

12. 配置blog用戶名和密碼,注意和上面的db用戶不是一回事

13. 如果上一步submit后出現403,可能是沒有將index.php加入nginx的默認首頁,簡單添加一下到location /就好了

14. 然后就可以看到Dashboard了。

15. 安全說明

    1) 對於php文件,nginx並不會讀取文件內容,而是將文件位置和名稱直接扔給php-fpm,所以很多博客上說的“nginx需要對php有讀權限”的說法是錯誤的。這是一個影響網站安全的重要的點。只有在nginx不需要php讀權限的基礎上,我們才可以將wp-config.php的權限設置為600,僅將該文件讀權限開放給php-fpm,而nginx只需要文件所在目錄的讀權限就可以了。

 16. 更改語言

       在wp-content目錄下新建一個目錄languages,將你從wordpress.org下載得到的中文語言包解壓后的文件放到該目錄。回到browser,在dashboard里選擇語言並save。

 17. 低配置服務器上的優化

 17.1  /etc/my.cnf

          在[mysqld]下增加一行:

          performance_schema=off

  17.2 /etc/my.cnf.d/server.cnf

          在[mysqld]下增加:

          innodb_buffer_pool_size = 32M
          key_buffer_size = 4M

          # 說明:很多文章都會讓你把innodb_buffer_pool_size 設置為服務器內存的80%,但這是以訛傳訛的做法。按mariadb官方wiki/FAQ,僅當服務器內存>4G時,將innodb_buffer_pool_size設置為空閑內存(跑了其他所有服務,單單沒有開maridb的情況下的free memory,而不是服務器配置內存!)的80%。對於低配置服務器,該值應該比默認值(128M)更小。key_buffer_size的值沒有查到建議值,這里我按同等比例減小。

17.3 /etc/php-fpm.d/www.conf

        pm.max_children = 10

        pm.start_servers = 2

        pm.max_spare_servers = 5


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM