用WordPress搭建一个属于你自己的个人网站
WordPress是世界上最流行的博客系统之一,它功能强大,使用简单,插件丰富。著名的网购商品推荐网站“什么值得买”最初就是基于WordPress建立的。
在这篇文章中,我将简单地介绍一下一个网站是如何一步一步搭建起来的。
一、建站前的准备
域名
一个服务器
配置DNS
为了省心,我买了一个VPS和域名。因为要求不高,只花了一百块钱,通过DNSPod添加一条记录,将域名指向服务器的IP。
二、手动设置LNMP环境(CentOS 7)
LNMP是Linux、Nginx、MariaDB和PHP的缩写,这种组合是Web服务器最常见的运行环境之一,WordPress就是基于LNMP搭建的。
三、手动设置WordPress个人网站(Linux)
以上两步完成后,就可以开始搭建WordPress个人网站了。
四、为WordPress配置个人域名访问
1.到Nginx默认所在的文件夹,修改配置文件Nginx.conf,找到参数server_name,把IP改成自己的域名,使用命令nginx -s -load重新加载nginx。
2.在wordpress的管理后台,按照路径“设置-通用”将WordPress地址(URL)和站点地址(URL)更改为http://example.com/wordpress,其中WordPress是WordPress的安装目录(每个人的名字可能不一样,根据实际情况填写,下同)然后保存更改。
完成以上两步后,就可以通过http://example.com/wordpress访问网站了
3.将WordPress设置为网站的根目录
我想通过http://example.com/访问网站,所以我需要设置WordPress作为网站的根目录。
五、给WordPress创建一个自己的目录需要以下三个步骤:
1.创建一个htaccess文件,并将以下内容写入文件中(根据实际情况修改example.com和my_subdir)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/my_subdir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /my_subdir/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ my_subdir/index.php
</IfModule>
2.将WordPress文件夹中的index.php文件复制到网站的根目录,同时,将
require(dirname(__FILE__).‘/wp-blog-header.php’)
替换为
require(dirname(__FILE__).‘/wordpress/wp-blog-header.php’)
3.在WordPress的管理后台,点击路径“设置-通用”,将网站地址(URL)改为http://example.com。
完成以上三个步骤后,你就可以通过http://example.com访问网站了。
六、配置HTTPS对网站的访问
1.申请SSL证书
百度可以搜索到很多可以申请域名免费版(DV)的网站。
2.打开80,443端口
3.证书安装和设置HTTP强制跳转HTTPS
1) 在免费申请证书网站后台的证书管理控制台中下载并解压缩www.domain.com证书文件包到本地目录,解压后得到1_www.domain.com_bundle.crt证书文件和2_www.domain.com.key私钥文件。
2) 将证书放到Nginx默认的文件夹下,编辑nginx.conf文件,对照原server 配置进行修改:
#HTTPS访问设置
server {
listen 443 ssl;
#填写绑定证书的域名
server_name www.domain.com;
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
root /var/www/www.domain.com;
index index.html index.htm;
#证书文件名称
ssl_certificate 1_www.domain.com_bundle.crt;
#私钥文件名称
ssl_certificate_key 2_www.domain.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm;
}
}
#HTTP强制跳转HTTPS
server {
listen 80;
#填写绑定证书的域名
server_name www.domain.com;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
#HTTP强制跳转HTTPSserver { listen 80 #填写绑定证书的域名服务器名www.domain.com;#把超文本传送协议(超文本传输协议的缩写)的域名请求转成https返回301 https://$ host $ request _ uri}
3) 修改后用 nginx -t 验证配置文件问题,没有问题后用 nginx -s reload重载nginx。
4) 设置页面
在博客的管理后台,按路径"设置-常规",将站点地址(网址)改为https://example.com,同时将博客地址(网址)改为https://example.com/example.com/wordpress完成以上四个步骤后,证书安装和设置HTTP强制跳转HTTPS就完成了。
七、主题设置
设置主题有两种方式,一种是通过WordPress自带的主题商城直接访问安装,另一种是通过上传主题包安装。
1.WordPress自己的主题商城安装
当你准备安装主题时,你会遇到一个问题——“要执行请求操作,wordpress 需要访问您网页服务器的权限”。
可以通过编辑 /etc/php-fpm.d/www.conf 可以解决,将 user 和 group 都修改为 nginx:。
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
然后使用chmod -R 755 /usr/share/nginx/html/wordpress 和 chown -R nginx.root /usr/share/nginx/html/wordpress 来对网站目录文件夹进行授权。
2.本地上传主题安装
您将会遇到以下问题:
1) “413 Request Entity Too Large”
这是 Nginx 和 PHP 对文件上传大小有限所导致的,所以可以通过修改相关配置文件来解决。
在 nginx.conf 中添加一行代码 client_max_body_size 20M;,
可以选择在 http{ } 中设置:client_max_body_size 20m;
也可以选择在 server{ } 中设置:client_max_body_size 20m;
还可以选择在 location{ } 中设置:client_max_body_size 20m;
这三者是不同的:
设置到 http{} 内,控制全局 nginx 所有请求报文大小
设置到 server{} 内,控制该 server 的所有请求报文大小
设置到 location{} 内,控制满足该路由规则的请求报文大小
同时记得修改 php.ini 内的上传限制:upload_max_filesize = 20M 。通过命令 php –ini 可以确定 php.ini 文件的位置。修改完成后用命令systemctl reload php-fpm 和 systemctl restart php-fpm 重启和重载php-fpm
完成上述操作后重载 Nginx 。
2)“WordPress没有对上级目录的写权限”
通过chmod -R 777 wordpress/wp-content命令可以解决这个问题。
3)“要执行所请求的操作,WordPress需要访问您的web服务器的权限”
解决方法同上1.WordPress自己的主题商城安装一样。
现在,你可以开心地折腾你的网站了。