手拉手搭建 lnmp 環境及安裝 wordpress

首先了解一下環境
平臺:Centos7.6
Nginx: 1.12.2
Mysql: 8 (或者 Mariadb: 10.3.16-MariaDB)
PHP: 7.2.19
Wordpress: 5.2.2

另外,由於 mysql8 的官方 yum 源安裝速度非常慢(親測20 多分鐘至幾個小時),而且一些配置也會稍微複雜一點,所以推薦安裝 mariadbb10 的版本替代。

安裝開發工具包

  • 可先通過 yum grouplist查看一下安裝列表,這裏我們只安裝其中一個開發工具包Developmennt Tools
yum groupinstall 'Development Tools' -y

nginx安裝與配置

  • 安裝
yum isntall -y nginx
  • 一般nginx的默認配置目錄是/etc/nginx/conf.d/,這裏我們新建一個配置文件
vim /etc/nginx/conf.d/web.conf
  • 並在web.conf 文件中寫入以下內容,注意 server_name t1.xiaoxiangti.com; 爲你的域名。
#======================== WEB options ============================
server {
        listen       80;
        server_name  t1.xiaoxiangti.com;
        root         /var/wordpress;
    index        index.php index.html;
    charset         utf-8;
#======================== Pseudo static ==========================
        location / {
    if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; }
    if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; }
    if (!-f $request_filename){ rewrite (.*) /index.php; }
    }
#======================== PHP options ============================
    location ~ \.php {
        root    /var/wordpress;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include         fastcgi_params;
    }
#======================== Error page =============================
        error_page 400 403 404 /40x.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

最後啓動nginx服務,並設爲開機啓動

systemctl start  nginx
systemctl enable nginx

mysql8安裝與配置

清除舊版本

centos7下默認安裝有mariadb數據庫,但是是舊版本,在安裝新版本前需要先把舊版本刪除,有些系統還默認安裝mysql,也必須刪除,否則有可能會產生衝突。

  • 檢查是否安裝了mysql及相關依賴
[root@iZwz9dsrvtc901nh4f4tbyZ ~]# rpm -qa |grep mysql
mysql80-community-release-el7-3.noarch
mysql-community-common-8.0.17-1.el7.x86_64
mysql-community-client-8.0.17-1.el7.x86_64
mysql-community-server-8.0.17-1.el7.x86_64
mysql-community-libs-8.0.17-1.el7.x86_64
mysql-community-libs-compat-8.0.17-1.el7.x86_64

如上,如果有安裝的話,則依次卸載

# 通過rpm -e卸載
rpm -e mysql80-community-release-el7-3.noarch

# 卸載不成功時使用此命令強制卸載

rpm -e --nodeps mysql80-community-release-el7-3.noarch

# 也可通過yum remove -y卸載
yum remove -y mysql80-community-release-el7-3.noarch

...
  • 查找分散的mysql目錄及配置文件
    通過find命令
[root@iZwz9dsrvtc901nh4f4tbyZ ~]# find / -iname mysql
/usr/lib64/mysql
/usr/bin/mysql
/etc/logrotate.d/mysql
/var/lib/mysql
/var/lib/mysql/mysql

通過which命令

[root@iZwz9dsrvtc901nh4f4tbyZ ~]# which mysql
/usr/bin/mysql

上面find命令後面/表示需要查找的路徑,-iname參數表示忽略大小寫,查找名字中包含mysql的結果。
上面查找到的目錄或文件需要rm -rf依次刪除

rm -rf /usr/lib64/mysql
...

mariadb同理,把上面命令中的mysql換成mariadb再執行一遍即可。

配置 yum 源及安裝

  • 下載mysql官方的yum源倉庫
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
  • 安裝yum源
yum localinstall mysql80-community-release-el7-3.noarch.rpm -y

# 這裏也可執行這個命令
rpm -ivh mysql80-community-release-el7-3.noarch.rpm --force --nodeps

完成後,會再yum的配置目錄/etc/yum.repos.d/目錄下生成對應的yum源文件,例如查看一下yum源的列表:

[root@iZwz9dsrvtc901nh4f4tbyZ ~]# yum repolist
mysql80-community/x86_64
mysql-tools-community/x86_64
mysql-connectors-community/x86_64 
...
  • 更新yum源
yum clean all && yum makecache
yum upgrade -y
  • 安裝mysql
    做了半天準備,終於可以安裝了。這裏安裝的是mysql的社區版。這一步會比較慢,我試了幾次,最快的也要20多分鐘,慢的話可能需要一兩個小時..
yum install mysql-community-server -y
  • 啓動mysql
    安裝完成後,啓動mysql,並設置爲開機啓動
systemctl start mysqld
systemctl enable mysqld

修改配置文件

這一環節主要針對 mysql8 及以上的版本, 如果是 mysql8 以下版本則不需要,可以直接跳過到“創建 wordpress”的環節。
因爲以往的mysql版本驗證機制是“mysql_native_password”,而mysql8使用的身份驗證機制,所以需要修改下配置文件my.cnf

  • 打開配置文件:vim /etc/my.cnf 並新增以下內容:
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
default_authentication_plugin = mysql_native_password
  • 登錄
    mysql8及以後的版本會生成一個默認的root用戶臨時登錄密碼,所以如果直接通過mysql登錄,可能會提示沒有密碼:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我們需要先通過grep "temporary password" /var/log/mysqld.log查看臨時密碼

[root@iZwz9dsrvtc901nh4f4tbyZ log]# grep "temporary password"  /var/log/mysqld.log
2019-08-02T07:20:30.072655Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: g5+(wMKsdq*C

可以看到臨時密碼爲g5+(wMKsdq*C,接着登錄:

mysql -uroot -p'g5+(wMKsdq*C'
  • 修改root用戶的臨時密碼
    通過臨時密碼登錄後,需要先修改密碼。mysql8對密碼要求比較高,要包含字母大小寫、數字和符號。
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Slevin@123456';

創建wordpress數據庫及用戶

create database wpdb;  # 創建wpdb數據庫
create user 'slevin'@'localhost' identified with mysql_native_password by 'Slevin@123456';  # 創建slevin賬號及登錄密碼
grant all privileges on wpdb.* to 'slevin'@'localhost';  # 賦予slevin賬號權限
  • 刷新權限及退出
    完成以上操作後,刷新權限即可退出mysql
flush privileges;
exit;
  • 重啓 mysql
systemctl restart mysqld

mariadb10 安裝及配置

清除舊版本

配置阿里雲的 mariadb yum 源

在目錄下 /etc/yum.repos.d/ 創建文件MariaDB.repo ,並把以下內容添加到所建文件中:

#MariaDB 10.3 CentOS repository list - created 2018-10-16 15:18 UTC
 
#http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB

baseurl = http://mirrors.aliyun.com/mariadb/yum/10.3/centos7-amd64/

gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
 
gpgcheck=1

更新 yum 源緩存

yum clean all && yum makecache
yum upgrade -y

安裝 mariadb 及相關拓展

yum install -y MariaDB-server MariaDB-client

啓動 mariadb 並設爲開機啓動

systemctl start mariadb
systemctl enable mariadb

創建 worpdress 使用的數據庫及用戶

輸入mysql登錄數據庫,然後依次執行

create database wpdb;
grant all privileges on wpdb.* to 'slevin'@'localhost' identified by 'Slevin@123456';
flush privileges;
exit;

php7安裝及配置

配置 yum 源

由於linux的yum源不存在php7.x,所以我們要更改yum源。而php7.x有兩個源可以選擇,一個是webtatic提供的,也就是php70w,那個w指得就是webtatic,另一個可以使用remi源。這裏主要以webtatic進行展開講解。

  • 首先配置 epel 源
yum install -y epel-release

# 或者配置阿里雲鏡像的 epel 源
cd /etc/yum.repos.d
wget https://mirrors.aliyun.com/repo/epel-7.repo
  • 再配置 wetatic 源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
  • 更新 yum 源緩存
yum clean all && yum makecache
yum upgrade -y
可以通過yum repolist 查看確認一下 yum 源列表
通過yum list |grep php7查看可安裝的 php7 以上版本列表信息

安裝

安裝 php 及相應拓展。這裏安裝的是7.2版本,也就是php72w,對應的拓展都是以此爲前綴,如果需要其他版本如 php70w、php71w, 對應拓展的前綴也需更改。

yum install -y php72w php72w-fpm php72w-mysql php72w-common php72w-cli php72w-gd

#更全的依賴
#yum install -y php72w php72w-fpm php72w-mysql php72w-common php72w-cli php72w-gd php72wp-dba php72w-devel php72w-embedded php72w-imap php72w-interbase php72w-intl php72w-ldap php72w-mbbstring php72w-mysqlnd php72w-odbc php72w-opcache php72w-pdo php72w-pdo_dblib  php72w-pear php72w-pecl-apcu php72w-pecl-imagick php72w-pecl-redis php72w-pecl-xdebug php72w-pgsql php72w-phpdbg php72w-process php72w-pspell php72w-recode php72w-snmp php72w-soap php72w-tidy php72w-xml php72w-xmlrpc

相關配置

使用vim編輯器編輯此文件

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

在 www.conf 文件中,修改user、group字段,這裏使用“nginx”用戶運行PHP服務,方便之後權限規劃:

user = nginx
group = nginx

啓動服務並設爲開機啓動

systemctl start php-fpm && systemctl enable php-fpm

安裝 wordpress

依次執行以下命令:

mkdir /var/wordpress && cd /var/wordpress/
wget  https://cn.wordpress.org/latest-zh_CN.zip && unzip latest-zh_CN.zip
mv wordpress/* /var/wordpress/ && cd /var
chmod 755 -R wordpress
chown nginx:nginx -R wordpress

如果以上操作都沒問題的話,這個時候訪問你的域名或者服務器的ip的ip地址,就會看到wordpress的安裝界面了。

安裝界面這裏填入上面我們創建好的mysql賬戶即可。

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章