首先了解一下環境 平臺:Centos7.6 Nginx: 1.12.2 Mysql: 8 (或者 Mariadb: 10.3.16-MariaDB) PHP: 7.2.19 Wordpress: 5.2.2php
另外,因爲 mysql8 的官方 yum 源安裝速度很是慢(親測20 多分鐘至幾個小時),並且一些配置也會稍微複雜一點,因此推薦安裝 mariadbb10 的版本替代。html
yum grouplist
查看一下安裝列表,這裏咱們只安裝其中一個開發工具包Developmennt Tools
yum groupinstall 'Development Tools' -y
複製代碼
yum isntall -y nginx
複製代碼
/etc/nginx/conf.d/
,這裏咱們新建一個配置文件vim /etc/nginx/conf.d/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服務,並設爲開機啓動node
systemctl start nginx
systemctl enable nginx
複製代碼
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
複製代碼
如上,若是有安裝的話,則依次卸載linux
# 經過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
...
複製代碼
find
命令[root@iZwz9dsrvtc901nh4f4tbyZ ~]# find / -iname mysql
/usr/lib64/mysql
/usr/bin/mysql
/etc/logrotate.d/mysql
/var/lib/mysql
/var/lib/mysql/mysql
複製代碼
經過which
命令nginx
[root@iZwz9dsrvtc901nh4f4tbyZ ~]# which mysql
/usr/bin/mysql
複製代碼
上面find命令後面/
表示須要查找的路徑,-iname
參數表示忽略大小寫,查找名字中包含mysql
的結果。 上面查找到的目錄或文件須要rm -rf
依次刪除web
rm -rf /usr/lib64/mysql
...
複製代碼
mariadb同理,把上面命令中的mysql
換成mariadb
再執行一遍便可。redis
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
複製代碼
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源的列表:sql
[root@iZwz9dsrvtc901nh4f4tbyZ ~]# yum repolist
mysql80-community/x86_64
mysql-tools-community/x86_64
mysql-connectors-community/x86_64
...
複製代碼
yum clean all && yum makecache
yum upgrade -y
複製代碼
yum install mysql-community-server -y
複製代碼
systemctl start mysqld
systemctl enable mysqld
複製代碼
這一環節主要針對 mysql8 及以上的版本, 若是是 mysql8 如下版本則不須要,能夠直接跳過到「建立 wordpress」的環節。 由於以往的mysql版本驗證機制是「mysql_native_password」,而mysql8使用的身份驗證機制,因此須要修改下配置文件my.cnf
。shell
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
複製代碼
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'
複製代碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Slevin@123456';
複製代碼
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帳號權限
複製代碼
flush privileges;
exit;
複製代碼
systemctl restart mysqld
複製代碼
在目錄下 /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
複製代碼
yum install -y MariaDB-server MariaDB-client
複製代碼
systemctl start mariadb
systemctl enable mariadb
複製代碼
輸入mysql
登陸數據庫,而後依次執行
create database wpdb;
grant all privileges on wpdb.* to 'slevin'@'localhost' identified by 'Slevin@123456';
flush privileges;
exit;
複製代碼
因爲linux的yum源不存在php7.x,因此咱們要更改yum源。而php7.x有兩個源能夠選擇,一個是webtatic提供的,也就是php70w,那個w指得就是webtatic,另外一個可使用remi源。這裏主要以webtatic進行展開講解。
yum install -y epel-release
# 或者配置阿里雲鏡像的 epel 源
cd /etc/yum.repos.d
wget https://mirrors.aliyun.com/repo/epel-7.repo
複製代碼
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
複製代碼
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
複製代碼
依次執行如下命令:
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帳戶便可。