今天想用wordpress搭个博客,我的服务器是腾讯云的,然后腾讯云里有官方文档搭建的,但它是用centos为例,

搞得我的ubuntu跟着它走了些歪路,然后结合网上其它资料,终于一点一点的解决了。

声明 :参考这篇博文的尽量跟我的环境一样,因为如果不一样的话,那些配置文件的位置可能不同,这样就不方便了。

我把遇到的问题都一个个记下来,真的遇到太多坑了。

说明 :关于服务器方面,我就不详细说了,买服务器,买域名这些网上一堆,在这里就不花篇幅讲了。

   参考这篇博文的人需要有点linux基础,不适合小白。或者说,我是为了记录遇到的问题才决定写这篇博文的。

一、创建并运行云服务器

这里就不说了,买就完事了。

二、搭建 LNMP 环境

2.1 安装mysql( 教程

先安装上,后面会用到。

2.2 安装nginx

sudo apt-get update

sudo apt-get install nginx	

然后就访问 http://你的服务器域名或ip地址

出现下图代表安装成功

如果没有成功,出现以下错误。

说什么  /etc/nginx/nginx.conf 找不到的,应该是环境乱了,我们需要重新安装nginx。

可以执行以下代码

# nginx是依赖nginx-core的,nginx-core又是依赖nginx-common的
# 所以全都卸载光光,重点是要加上 --purge 这个参数代表 连同删除配置文件
sudo apt-get --purge remove nginx-common
sudo apt-get --purge remove nginx*
# 清除依赖包
sudo apt-get autoremove
# 重新安装
sudo apt install nginx

相信不出意外的话此时安装的nginx是成功的了

2.3 安装php7.0

apt-get -y install php7.-fpm php-mysql	

PHP fix_pathinfo 潜在安全漏洞修复,在/etc/php/7.0/fpm/php.ini中找到

;cgi.fix_pathinfo=

把1改成0

cgi.fix_pathinfo=

重启

systemctl restart php7.-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 ;
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 /.html; #redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html { root /usr/share/nginx/html; } #pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
location ~ .php$ { fastcgi_pass 127.0.0.1:;
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.-fpm.sock	

然后将其值改成9000

listen = 	

第一个是原来的,我注释掉了。

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 先删除网站根目录下的文件

rm /usr/share/nginx/html/*

3.1.2 依次下载 WordPress 并解压到当前目录

wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz
tar zxvf wordpress- 4.7.-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 settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress'); /** MySQL database username */
define('DB_USER', 'user'); /** MySQL database password */
define('DB_PASSWORD', 'wordpresspassword'); /** MySQL hostname */
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

Ubuntu 16.04.1 LTS配置LNMP使用wordpress搭建博客的更多相关文章

  1. Ubuntu 16.04.2 LTS 安装 jdk1.6 和 tomcat6 (一)

    java和tomcat环境配置已经有很多教程和文章,最近项目需要配置Ubuntu 16.04.2下的古老的java6和tomcat 6,遇到小坑,特记录和分享. 网上的教程不是太新,就是太老,还有一些 ...

  2. Ubuntu 16.04.3 LTS u盘-安裝教程(填坑)

    Ubuntu 16.04.3 LTS 下载地址: https://www.ubuntu.com/download/desktop 下载u盘后文件为iso,可以选择UltraISO制作U盘启动,也可以直 ...

  3. Alienware-15-R3 装Ubuntu 16.04.3 LTS

    前言:Alienware-15-R3默认安装的系统是win10.现在卸载win0,装Ubuntu 16.04.3 LTS. 一.下载Ubuntu 16.04.3 LTS镜像文件,下载地址:https: ...

  4. 如何在Ubuntu 16.04上安装配置Redis

    如何在Ubuntu 16.04上安装配置Redis Redis是一个内存中的键值存储,以其灵活性,性能和广泛的语言支持而闻名.在本指南中,我们将演示如何在Ubuntu 16.04服务器上安装和配置Re ...

  5. Ubuntu 16.04.4 LTS环境中php7.0使用mysqli失败,数据库无法访问

    环境: Ubuntu 16.04.4 LTS php7.0 输入命令php -m,显示如下,发现没有mysqli模块 输入命令sudo apt install php-mysql,安装mysql模块, ...

  6. Ubuntu 16.04.4 LTS设置root用户登陆图形界面

    普通用户登陆真是太憋屈,这也不能那也不能,root用户登录就可以肆无忌惮了 本方法采用nano编辑器,ubantu版本Ubuntu 16.04.4 LTS,其他版本应该也一样,下面进入正题 1.终端登 ...

  7. Ubuntu 14.04.3 LTS 配置 DNS Server

    我们目的是用一台局域网机器完成 192.168.1.113 <-->cloudshield.com的解析,指定A记录和CNAME; 0.关于Ubuntu 14.04.2 LTS 下载.安装 ...

  8. Ubuntu 16.04 samba相关配置

    samba是 SMB/CIFS网络协议的重新实现,它作为NFS的补充使得在Linux和Windows系统之间进行文件共享.打印更容易实现. 相关介绍: SAMBA套件: (1)samba:这个套件主要 ...

  9. Ubuntu 16.04 服务器上配置使用 Docker

    Docker基础概念 在使用Docker之前,我们先了解下几个Docker的核心概念 Docker Daemon Docker引擎,就是运行在后台的一个守护进程,在我们启动它之后,我们就可以通过Doc ...

随机推荐

  1. Centos7搭建虚拟用户FTP

    yum install -y vsftpd #安装ftp服务 useradd -s /sbin/nologin virftp #创建用户,用于ftp服务 vim /etc/vsftpd/vsftpd_ ...

  2. Hive的原理

    阅读目录 一.Hive内部表和外部表 1.Hive的create创建表的时候,选择的创建方式: - create table - create external table 2.特点: ● 在导入数据 ...

  3. IO_ADDRESS()的实现【转】

    上面我们说了如何去在系统中自己实现一个设置系统寄存器的一个方法,上面归根到底要进行物理地址到虚拟地址的映射 现在我们就说说IO_ADDRESS()的实现 #define __REG32ALI(addr ...

  4. Win10系统修改主机名、用户名称和密码、以及C盘中的用户文件夹名

    写在前面 近期重新安装了Ubuntu16.04系统,同时也修改了Windows10系统的用户名.密码,还有C盘用户文件夹名称.对于Linux和windows系统来说,修改名称基本都是三部分,主机名.用 ...

  5. Kafka的partions和replication-factor参数的理解

    Topic在Kafka中是主题的意思,生产者将消息发送到主题,消费者再订阅相关的主题,并从主题上拉取消息. 在创建Topic的时候,有两个参数是需要填写的,那就是partions和replicatio ...

  6. Java数据结构和算法 - 栈和队列

    Q: 栈.队列与数组的区别? A: 本篇主要涉及三种数据存储类型:栈.队列和优先级队列,它与数组主要有如下三个区别: A: (一)程序员工具 数组和其他的结构(栈.队列.链表.树等等)都适用于数据库应 ...

  7. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储模式

    前言 1.@LearningCoding 小伙伴关于用Sqlsugar在mysql数据库上的研究成果: sqlsugarcore支持mysql等数据库,在DbContext里面只需要设置dbtype为 ...

  8. .NET Core微服务之基于Ocelot实现API网关服务

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.啥是API网关? API 网关一般放到微服务的最前端,并且要让API 网关变成由应用所发起的每个请求的入口.这样就可以明显的简化客户端 ...

  9. 写给 Android 开发的小程序布局指南,Flex 布局!

    一.序 Hi,大家好,我是承香墨影! 最近在做小程序,验证一些方向,开发效率确实很快,就是各种微信的审核有点费劲,但是总归是有办法解决的. 想要开发一款小程序,其实和我们正常写一款 App 类似,你需 ...

  10. [Javascript] encodeURIComponent()方法

    在vue項目中使用vue-router通过url进行传值 encodeURIComponent encodeURIComponent() 函数可把字符串作为 URI 组件进行编码.encodeURIC ...