今天想用wordpress搭个博客,我的服务器是腾讯云的,然后腾讯云里有官方文档搭建的,但它是用centos为例,
搞得我的ubuntu跟着它走了些歪路,然后结合网上其它资料,终于一点一点的解决了。
声明:参考这篇博文的尽量跟我的环境一样,因为如果不一样的话,那些配置文件的位置可能不同,这样就不方便了。
我把遇到的问题都一个个记下来,真的遇到太多坑了。
说明:关于服务器方面,我就不详细说了,买服务器,买域名这些网上一堆,在这里就不花篇幅讲了。
参考这篇博文的人需要有点linux基础,不适合小白。或者说,我是为了记录遇到的问题才决定写这篇博文的。
一、创建并运行云服务器
这里就不说了,买就完事了。
二、搭建 LNMP 环境
2.1 安装mysql(教程)
先安装上,后面会用到。
2.2 安装nginx
apt-get update apt-get install nginx
然后就访问 http://你的服务器域名或ip地址
出现下图代表安装成功
2.3 安装php7.0
apt-get -y install php7.0-fpm php-mysql
PHP fix_pathinfo 潜在安全漏洞修复,在/etc/php/7.0/fpm/php.ini中找到
;cgi.fix_pathinfo=1
把1改成0
cgi.fix_pathinfo=0
重启
systemctl restart php7.0-fpm
2.4 配置mysql
其实也不算配置,就是要建一个数据库,因为后面的wordpress要用到,我在这里就顺着顺序写了,不用
等到后面
2.4.1登录 MySQL 服务器
使用 root 用户登录到 MySQL 服务器。
mysql -uroot -p
2.4.2 为 WordPress 创建数据库并设置用户名和密码(本教程设置如下,您可自行定义)。
为 WordPress 创建 MySQL 数据库 “wordpress”。
CREATE DATABASE wordpress;
为已创建好的 MySQL 数据库创建一个新用户 “user@localhost”。
CREATE USER user@localhost;
并为此用户设置密码“wordpresspassword”。
SET PASSWORD FOR user@localhost=PASSWORD("wordpresspassword");
2.4.3 为创建的用户开通数据库 “wordpress” 的完全访问权限。
GRANT ALL PRIVILEGES ON wordpress.* TO user@localhost IDENTIFIED BY 'wordpresspassword';
2.4.4 使用以下命令使所有配置生效。
FLUSH PRIVILEGES;
2.4.5 配置完成,退出 MySQL。
exit
2.5 配置nginx
打开一个默认文件,将里面内容清空,换上下文。
sudo vim /etc/nginx/sites-available/default
所要替换的内容:
server { listen 80; root /usr/share/nginx/html; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { index index.php index.html index.htm; } #error_page 404 /404.html; #redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # 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; } }
2.6 配置php7.0
2.6.1 配置 PHP Session 的存储路径。
sudo vim /etc/php/7.0/fpm/php.ini
然后搜索到session.save_path
/session.save_path
将其值改成下图所示,不过也得先确定哪个sessions的文件夹对不对
2.6.2 监听9000端口(大坑!)
我就是被这个问题坑死的。。。
编辑文件:
sudo vim /etc/php/7.0/fpm/pool.d/www.conf
然后搜索到listen = /run/php/php7.0-fpm.sock
/listen = /run/php/php7.0-fpm.sock
然后将其值改成9000
listen = 9000
第一个是原来的,我注释掉了。
2.7 环境测试
2.7.1 在/usr/share/nginx/html目录下创建文件index.php
sudo vim /usr/share/nginx/html/index.php
里面内容为
<?php echo "<title>Test Page</title>"; echo "Hello World!"; ?>
2.7.2 输入测试地址
http://云服务器实例的公网 IP/index.php
测试结果:
至此LNMP环境搭建成功~
三、安装和配置 WordPress
3.1 下载wordpress
3.1.1 先删除网站根目录下的index.html
文件
rm /usr/share/nginx/html/index.html
3.1.2 依次下载 WordPress 并解压到当前目录
wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz tar zxvf wordpress-4.7.4-zh_CN.tar.gz
3.2 配置数据库信息
wordpress需要跟数据库一起用,所以需要把数据库信息配置到wordpress中,
wordpress的 安装文件夹包含名为 wp-config-sample.php 的示例配置文件。
3.2.1 创建新配置文件
将wp-config-sample.php
文件复制到名为wp-config.php
的文件,
使用以下命令创建新的配置文件,并将原先的示例配置文件保留作为备份。
cd wordpress/
cp wp-config-sample.php wp-config.php
3.2.2 打开并编辑新创建的配置文件
vim wp-config.php
然后把相应信息填进去,最后一个DB_HOST一般是localhost,不用改。
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define('DB_NAME', 'database_name_here'); /** MySQL数据库用户名 */ define('DB_USER', 'username_here'); /** MySQL数据库密码 */ define('DB_PASSWORD', 'password_here'); /** MySQL主机 */ define('DB_HOST', 'localhost');
3.3 安装wordpress
3.3.1 复制文件到nginx文档根目录
就是wordpress/下的文件
mv * /usr/share/nginx/html/
3.3.2 开始著名的5分钟安装
输入访问地址:http://你的服务器域名或ip地址/wp-admin/install.php
出现下图
然后填入相关信息完成安装。
然后后面的博客就随便你们的喜好去修改了。
参考链接:
https://cloud.tencent.com/document/product/213/8044
https://www.jianshu.com/p/79942f37b2dc
https://segmentfault.com/a/1190000010877532