在CentOS 8上使用Nginx和MySQL 8安装WordPress

分享于 

10分钟阅读

CentOS

  繁體

前提条件

为了使用Nginx和MySQL 8在CentOS 8上设置WordPress,必须满足许多先决条件;

更新系统软件包

可以使用以下命令在CentOS 8上更新和升级系统软件包;

 
dnf update

 
 
dnf upgrade

 

在CentOS 8上安装LEMP Stack

下一步,确保安装了lemp堆栈。

安装所需的php扩展

还有其他的PHP扩展要求在CentOS 8上运行WordPress时,上面的LEMP指南中没有安装。


dnf install php-cli php-json php-opcache php-xml php-gd php-curl

创建WordPress mysql数据库

设置好LEMP堆栈后,请继续创建MySQL数据库和WordPress博客的数据库用户。

首先让我们来安装数据库版本。

 
mysql -V

 

mysql Ver 8.0.17 for Linux on x86_64 (Source distribution)

确保替换数据库的名称数据库用户和相应的密码。

以root身份登录到mysql 。


mysql -u root -p

创建WordPress数据库。


create database wordpressdb;

创建一个WordPress数据库用户并授予该数据库的所有权限。


create user wpadmin@localhost identified by 'StrongP@33#';


grant all on wordpressdb.* to wpadmin@localhost;

重新加载数据库特权表并退出数据库。

 
flush privileges;

 
 
quit

 

在CentOS 8上安装WordPress 5.x

WordPress 53是撰写本指南的最新版本,要安装最新版本,请从WordPress下载页面,你可以简单地使用wget命令。


dnf install wget -y


wget https://wordpress.org/latest.tar.gz

创建web root目录,相应地替换名称。


mkdir /usr/share/nginx/wp.kifarunix-demo.com

接下来,将WordPress归档内容解压缩到默认的web root目录。

 
dnf install tar

 

tar xzf latest.tar.gz -C /usr/share/nginx/wp.kifarunix-demo.com/ --strip-components=1

验证WordPress文件是否到位。


ls /usr/share/nginx/wp.kifarunix-demo.com/


index.php wp-activate.php wp-comments-post.php wp-cron.php wp-load.php wp-settings.php xmlrpc.php
license.txt wp-admin wp-config-sample.php wp-includes wp-login.php wp-signup.php
readme.html wp-blog-header.php wp-content wp-links-opml.php wp-mail.php wp-trackback.php

在CentOS 8上配置WordPress

WordPress随附了一个例子配置,wp-config-sample.php .重命名示例配置文件。


cp /usr/share/nginx/wp.kifarunix-demo.com/wp-config{-sample,}.php

接下来,编辑配置文件并设置数据库连接详细信息,


vi /usr/share/nginx/wp.kifarunix-demo.com/wp-config.php

DB_NAME,DB_USER,


...
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpressdb' );

/** MySQL database username */
define( 'DB_USER', 'wpadmin' );

/** MySQL database password */
define( 'DB_PASSWORD', 'StrongP@33#' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
...

接下来,生成认证唯一密钥和salt ,你可以简单地从WordPress Secret-Key服务生成密钥和盐,如下所示;


curl -s https://api.wordpress.org/secret-key/1.1/salt/


define('AUTH_KEY', 'B|#MIfD#LtT8].r0$gj[|&kn:?1r9=@,6fHeP(#u{Kg<q#E}4yuo$goGmF*qxv{}');
define('SECURE_AUTH_KEY', '<@v!aDzv+I65qI!om67Bc4QA=Wfb|HLr0XhZT;6nVS+`t{&8PI}y}kJ6U[#Hm-x_');
define('LOGGED_IN_KEY', 'JF*T}IXf=8tqx>+}Ao9N#z}UX8_Ms_o<-E6SJ#^z? ^{8$&H 8H+<a+1$[{$&p+');
define('NONCE_KEY', 'ah6{N4;Ms+CZfeU87+@Z_PO>W`?$^+2Jcvo=hV`e}v}u5+;hPyqw<2b;qyHkXOs$');
define('AUTH_SALT', '][WrFF`:-.#+}dEJQ.;Q%sl( RiY7:m(-[.sDd3dh|o8S+q>?ak[g6ltHo^V5|]5');
define('SECURE_AUTH_SALT', ')o|KHA^,~yH7S9-!vSS@vD[Al;ep$<$a$*emlV+h)l?T+Gc.a!LWZC {DZ buO[B');
define('LOGGED_IN_SALT', '$-W+/bVu[vkBeWrtu:R-6&cf{]N%z,PBomOP>R=lqCOEt%v]Y>}b]wGp(/yza=ux');
define('NONCE_SALT', ' VV(UM||}r]G:4#XT;T9:*$@>[`v(m.N383u8pEJ-w*2>h#mh5v`Kc9@}5c:Tc$]');

在wp-config.php中,用上面的。


...
 * @since 2.6.0
 */
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );

/**#@-*/
...

你的配置应该看起来像;


...
 * @since 2.6.0
 */
/**
 * define( 'AUTH_KEY', 'put your unique phrase here' );
 * define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
 * define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
 * define( 'NONCE_KEY', 'put your unique phrase here' );
 * define( 'AUTH_SALT', 'put your unique phrase here' );
 * define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
 * define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
 * define( 'NONCE_SALT', 'put your unique phrase here' );
 */
define('AUTH_KEY', 'B|#MIfD#LtT8].r0$gj[|&kn:?1r9=@,6fHeP(#u{Kg<q#E}4yuo$goGmF*qxv{}');
define('SECURE_AUTH_KEY', '<@v!aDzv+I65qI!om67Bc4QA=Wfb|HLr0XhZT;6nVS+`t{&8PI}y}kJ6U[#Hm-x_');
define('LOGGED_IN_KEY', 'JF*T}IXf=8tqx>+}Ao9N#z}UX8_Ms_o<-E6SJ#^z? ^{8$&H 8H+<a+1$[{$&p+');
define('NONCE_KEY', 'ah6{N4;Ms+CZfeU87+@Z_PO>W`?$^+2Jcvo=hV`e}v}u5+;hPyqw<2b;qyHkXOs$');
define('AUTH_SALT', '][WrFF`:-.#+}dEJQ.;Q%sl( RiY7:m(-[.sDd3dh|o8S+q>?ak[g6ltHo^V5|]5');
define('SECURE_AUTH_SALT', ')o|KHA^,~yH7S9-!vSS@vD[Al;ep$<$a$*emlV+h)l?T+Gc.a!LWZC {DZ buO[B');
define('LOGGED_IN_SALT', '$-W+/bVu[vkBeWrtu:R-6&cf{]N%z,PBomOP>R=lqCOEt%v]Y>}b]wGp(/yza=ux');
define('NONCE_SALT', ' VV(UM||}r]G:4#XT;T9:*$@>[`v(m.N383u8pEJ-w*2>h#mh5v`Kc9@}5c:Tc$]');
/**#@-*/
...

配置nginx

为你的博客创建一个Nginx服务器块,如果只托管一个块,则可以将它设置为默认(default_server )块。


vi /etc/nginx/conf.d/wp.kifarunix-demo.com.conf


server {
 listen 80 default_server;
 server_name wp.kifarunix-demo.com;
 root /usr/share/nginx/wp.kifarunix-demo.com;
 
 access_log /var/log/nginx/access_wp.kifarunix-demo.com.log;
 error_log /var/log/nginx/error_wp.kifarunix-demo.com.log;

 index index.php;

 location / {
 try_files $uri $uri/ /index.php?$args;
 }
 location ~ .php$ {
 fastcgi_pass unix:/run/php-fpm/www.sock;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
 fastcgi_index index.php;
 }
 error_page 404 /404.html;
 location = /40x.html {
 }

 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 }
}


chown -R nginx:nginx /usr/share/nginx/wp.kifarunix-demo.com/

如果SELinux正在运行,请执行以下命令以允许Nginx连接到数据库,发送邮件并访问WordPress配置文件。


setsebool -P httpd_can_network_connect_db=1


setsebool -P httpd_can_sendmail=1


chcon -Rt httpd_sys_content_t /usr/share/nginx/wp.kifarunix-demo.com/

重新启动nginx


systemctl restart nginx

完成

登录到WordPress并完成设置。

使用域名或ip地址访问你的博客; http://domain_name_or_IP

你已成功安装WordPress 。


WORD  Wordpress  Nginx  Centos  
相关文章