因为最近工作比较忙,没太多时间思考和写东西。所以今天偷个懒,发一篇实操类文章。
这篇文章非常“干”,“干”到你只要照着做就行了,几乎不用动脑。
这事源于前几天自己搭建了一个wordPress/ target=_blank class=infotextkey>WordPress博客站点,用于同步公众号的文章。
其实有这个想法好久了,迟迟没动手的原因是,现在如今的大环境下,博客的价值到底还有多少。
后来想想,如果只是在一些社区建博客,发文章,内容的垂直度是硬要求。技术社区只能发技术类的,产品社区只能发产品类的。
如果自建的博客站点的话,就自由多了,想写啥就写啥。
外加最近百度投资知乎这事,让我觉得搜索引擎现在很缺内容,特别是那些差异化的、个性化的内容。
所以,随即动手开干了。
回到正题,如果你已经是一个wordpress的建站老手,可以跳过这篇文章了。
因为自己之前也没搭过,所以摸索了一下,中间遇到了一些坑,折腾了一下午才搞定。
平时自己有个小习惯。为避免后续在同一个问题上耽误时间,会习惯性的记录一些遇到的“疑难杂症”以及对应的解决方案下来。
所以这次我就顺便把整个完整的过程丰满了一下,整理成文章发出来。
建议你可以收藏一下,搞不好什么时候也需要用wordpress建站呢。毕竟全世界用它来建设的网站可是千万级的。
如果你选择的软件版本与我的一样,按照我下面写的步骤进行,保证你在30分钟之内能成功建站。
1.首先到https://www.centos.org/ 下载最新版本的centos(7.6.1810),标准版或者minimal都可以。
当然了,选择其它的操作系统版本也可以,但是后面的一些命令可能就不能直接复制黏贴来用了。
2.操作系统安装完之后,建议直接把默认yum源切换到阿里云的yum源,使用起来方便一些。
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoyum makecache
然后我们就可以开始装wordpress全家桶了。Z哥选择的是LNMP的组合,当然你也可以选择LAMP的组合,但是后面的一些操作就不一样了,需要你自己调整。
3.(可选)如果yum中没有Nginx的rpm包的话,需要手动添加一下。
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
4.添加完Nginx的包后,就可以正式安装Nginx了。
yum install -y nginx
nginx的安装完成,暂时先放一放,接下来安装php。
5.安装php之前先得更新一下php的rpm包,因为一般情况下,操作系统里默认的php的rpm包版本都比较老。Z哥这里是5.4.16,而Z哥选择的最新版本wordpress5.2.2要求的php版本是5.6.20以上。(如果php的版本不对,会在打开安装好的wordpress时,在web页面上提示给你的。)
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
6.然后开始安装 php(注意70w不要漏了)
yum install php70w-fpm php70w-MySQL -y
好了,下面再安装数据库。
7.最新的rpm包列表中,原先的mysql已经被mariadb代替,所以,不用怀疑,直接装mariadb就好了。
yum install mariadb-server -y
8.启动mariadb
systemctl start mariadb
9.连接mariadb,默认密码为空。(用法和mysql完全一样)
mysql -uroot -p
10.创建wordpress用的数据库。名字你可以自行决定。
create database wordpress_db;
11.给新建的数据库设置用户名和密码。Z哥这里设置的是wp_account和wordpress_password,你也可以自行调整。
grant all privileges on wordpress_db.* to wp_account@localhost identified by 'wordpress_password';flush privileges;
下面主角wordpress登场。
12.为了装最新版本的wordpress,去官网上下载最新版。
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
13.Z哥平时习惯把文件目录按照统一的规范管理,怕后续找东西费时间。所以我在根目录创建了一个www的文件夹用于存放解压后的wordpress目录。
mkdir /wwwtar xf latest-zh_CN.tar.gzmv wordpress/ /www/wordpress
wordpress的存放目录后面还有用,所以如果你没有像Z哥一样单独建立一个统一的目录的话,可以先记录一下当前的wordpress地址。不过,Z哥后面统一用的都是/www/wordpress,这个要注意一下。
14.然后需要在wordpress的配置文件中设置之前创建的数据库地址。默认的配置文件只有wp-config-sample.php,我们需要从它复制一个wp-config.php出来,这才是真正的配置文件。
cd /www/wordpresscp wp-config-sample.php wp-config.phpvi wp-config.php
打开wp-config.php之后,找到文本内容中下面的位置。把之前的数据库信息填上。
/** WordPress数据库的名称 */define('DB_NAME', 'wordpress_db');/** MySQL数据库用户名 */define('DB_USER', 'wp_account');/** MySQL数据库密码 */define('DB_PASSWORD', 'wordpress_password');
15.还没完,再把nginx的配置文件打开。
vi /etc/nginx/nginx.conf
把wordpress网站相关的信息配置进去。完全复制下面的这段配置内容就好,只要注意修改两个地方。
server { listen 80; server_name 你的ip; index index.html index.php; # 网站根目录 root /www/wordpress; location / { root /www/wordpress; } location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}
16.最后把php和nginx运行起来,环境的搭建算是完成了。
service php-fpm startnginx
17.然后打开 http://你的ip 就可以看到一个欢迎界面。
18.填写完页面中的信息就会自动生成一个网站。
接下去开始就是折腾我好一会时间的地方了。
wordpress有丰富的插件和主题库,所以你必然会去安装一些新的插件和主题。但是当你点击安装的时候,会出现一个让你填写ftp服务器信息的表单。
其实你可以不用理会它,网上搜了下,这个情况是在某个版本之后才开启的新模式,早些时候的wordpress版本都是直接下载并安装的。
19.所以,我们可以把模式调整成直接安装的模式。去到wordpress的目录,再次打开wp-config.php。
vi /www/wordpress/wp-config.php;
在文件内容的最后增加下面三行内容。
define("FS_METHOD","direct");define("FS_CHMOD_DIR", 0777);define("FS_CHMOD_FILE", 0777);
还没完。只是这样的话,你再点击安装,还会提示“安装失败:无法创建目录。”
20.这个时候,需要你找到php的运行的用户和用户组,默认情况下,在/etc/php-fpm.d/www.conf中。
vi /etc/php-fpm.d/www.conf
找到其中的user和group,看看对应的值是什么。
然后再做两件事。
21.先把nginx的user改为和这里一样的Apache,默认应该在nginx.conf的第一行。
vi /etc/nginx/nginx.conf
改完之后重启nginx。
nginx -s reload
22.因为主题和插件之类都是安装在wordpress/wp-content/目录下,所以再给这个目录指定一下操作权限。否则默认的权限是root的,导致wordpress无法自行创建目录和文件。
chown -R apache:apache /www/wordpress/wp-content
至此,就大功告成了。可以体验一下wordpress的大量插件和主题,试试吧。
之前一直听别人说,用wordpress建站很简单。但是实际做起来总还是会遇到一些小麻烦的。
类似的情况,可能你也深有体会。
所以,收藏好这22步,可能在不久的将来你也需要用它来建站。至少可以帮你节约一些时间呀。