基于CentOS 6,4 搭建 WordPress 个人博客

本文转载自腾讯云官网使用手册

准备 LNMP 环境 任务时间:30min ~ 60min

LNMP 是 Linux、Nginx、MySQL 和 PHP 的缩写,是 WordPress 博客系统依赖的基础运行环境。我们先来准备 LNMP 环境

安装 Nginx 使用 yum 安装 Nginx:

yum install nginx -y

修改 /etc/nginx/conf.d/default.conf,去除对 IPv6 地址的监听[?],可参考下面的示例:

示例代码:/etc/nginx/conf.d/default.conf

server { listen 80 default_server;

listen [::]:80 default_server;

server_name  _;
root         /usr/share/nginx/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
}

error_page 404 /404.html;
    location = /40x.html {
}

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

}

修改完成后,启动 Nginx:

nginx 此时,可访问实验机器外网 HTTP 服务(http://<您的 CVM IP 地址>)来确认是否已经安装成功。

将 Nginx 设置为开机自动启动:

chkconfig nginx on

CentOS 6 不支持 IPv6,需要取消对 IPv6 地址的监听,否则 Nginx 不能成功启动。

安装 MySQL 使用 yum 安装 MySQL:

yum install mysql-server -y 安装完成后,启动 MySQL 服务:

service mysqld restart 设置 MySQL 账户 root 密码:[?]

/usr/bin/mysqladmin -u root password 'MyPas$word4Word_Press' 将 MySQL 设置为开机自动启动:

chkconfig mysqld on

下面命令中的密码是教程为您自动生成的,为了方便实验的进行,不建议使用其它密码。如果设置其它密码,请把密码记住,在后续的步骤会使用到。

安装 PHP 使用 yum 安装 PHP:[?]

yum install php-fpm php-mysql -y 安装之后,启动 PHP-FPM 进程:

service php-fpm start 启动之后,可以使用下面的命令查看 PHP-FPM 进程监听哪个端口 [?]

netstat -nlpt | grep php-fpm 把 PHP-FPM 也设置成开机自动启动:

chkconfig php-fpm on

CentOs 6 默认已经安装了 PHP-FPM 及 PHP-MYSQL,下面命令执行的可能会提示已经安装。

PHP-FPM 默认监听 9000 端口

安装并配置 WordPress 任务时间:30min ~ 60min

安装 WordPress 配置好 LNMP 环境后,继续使用 yum 来安装 WordPress:

yum install wordpress -y 安装完成后,就可以在 /usr/share/wordpress 看到 WordPress 的源代码了。

配置数据库 进入 MySQL:[?]

mysql -uroot --password='MyPas$word4Word_Press' 为 WordPress 创建一个数据库:

CREATE DATABASE wordpress; MySQL 部分设置完了,我们退出 MySQL 环境:

exit 把上述的 DB 配置同步到 WordPress 的配置文件中,可参考下面的配置:

示例代码:/etc/wordpress/wp-config.php

<?php /**

  • The base configuration for WordPress
  • The wp-config.php creation script uses this file during the
  • installation. You don't have to use the web site, you can
  • copy this file to "wp-config.php" and fill in the values.
  • This file contains the following configurations:
    • MySQL settings
    • Secret keys
    • Database table prefix
    • ABSPATH
  • @link https://codex.wordpress.org/Editing_wp-config.php
  • @package WordPress */

// 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', 'root');

/* MySQL database password / define('DB_PASSWORD', 'MyPas$word4Word_Press');

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

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

/* The Database Collate type. Don't change this if in doubt. / define('DB_COLLATE', '');

/**#@+

  • Authentication Unique Keys and Salts.
  • Change these to different unique phrases!
  • You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
  • You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
  • @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');

/*#@-/

/**

  • WordPress Database Table prefix.
  • You can have multiple installations in one database if you give each
  • a unique prefix. Only numbers, letters, and underscores please! */ $tableprefix = 'wp';

/**

/ Disable all file change, as RPM base installation are read-only / define('DISALLOW_FILE_MODS', true);

/ Disable automatic updater, in case you want to allow above FILE_MODS for plugins, themes, ... / define('AUTOMATIC_UPDATER_DISABLED', true);

/ Core update is always disabled, WP_AUTO_UPDATE_CORE value is ignore /

/**

  • For developers: WordPress debugging mode.
  • Change this to true to enable the display of notices during development.
  • It is strongly recommended that plugin and theme developers use WP_DEBUG
  • in their development environments.
  • For information on other constants that can be used for debugging,
  • visit the Codex.
  • @link https://codex.wordpress.org/Debugging_in_WordPress */ define('WP_DEBUG', false);

/ That's all, stop editing! Happy blogging. /

/* Absolute path to the WordPress directory. / if ( !defined('ABSPATH') ) define('ABSPATH', '/usr/share/wordpress');

/* Sets up WordPress vars and included files. / require_once(ABSPATH . 'wp-settings.php');

如果你上面的步骤没有使用教程创建的密码,请修改下面命令中的密码登录

配置 Nginx WordPress 已经安装完毕,我们配置 Nginx 把请求转发给 PHP-FPM 来处理

首先,重命名默认的配置文件:[?]

cd /etc/nginx/conf.d/ mv default.conf defaut.conf.bak 在 /etc/nginx/conf.d 创建 wordpress.conf 配置,参考下面的内容:

示例代码:/etc/nginx/conf.d/wordpress.conf

server { listen 80; root /usr/share/wordpress; location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php index.php; }

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;
}

} 配置后,通知 Nginx 进程重新加载:

nginx -s reload

默认的 Server 监听 80 端口,与 WordPress 的服务端口冲突,将其重命名为 .bak 后缀以禁用默认配置

准备域名和解析 任务时间:15min ~ 30min

域名注册 如果您还没有域名,可以在腾讯云上选购,过程可以参考下面的视频。

视频 - 在腾讯云上购买域名 域名解析 域名购买完成后, 需要将域名解析到实验云主机上,实验云主机的 IP 为:

<您的 CVM IP 地址> 在腾讯云购买的域名,可以到控制台添加解析记录,过程可参考下面的视频:

视频 - 如何在腾讯云上解析域名 域名设置解析后需要过一段时间才会生效,通过 ping 命令检查域名是否生效 [?],如:

ping www.yourdomain.com 如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。

注意替换下面命令中的 www.yourmpdomain.com 为您自己的注册的域名

大功告成! 恭喜,您的 WordPress 博客已经部署完成,您可以通过浏览器访问博客查看效果。

通过IP地址查看:

博客访问地址:http://<您的域名>/wp-admin/install.php

通过域名查看:

博客访问地址:http://www.yourdomain.com/wp-admin/install.php,其中替换 www.yourdomain.com 为之前申请的域名。

版权声明

FindFor


首发 FindFor,转载请附链接!

赞赏支持

感谢支持!


建站不易,感谢支持!

推荐阅读
web开发技术栈(框架)总结
Bootstrap-Layui-Amazeui-jQuery-vue-react-AngularJS-ci-Thinkphp-Yii-Laravel-Node-Django-springMVC-apache-nginx-mysql-redis…… 天呐,好多…… 小编虽说出身工业软件,但心里一直藏着一个UI梦。近两年,小编业余时间从零开始摸索web开发,把web开发常用的技术和框
4918

Web前端开发工程师笔试题(2019-3-28 整理16道,含答案)
前端时间因工作需要,整理了一套笔试题。 网上有许多套题,重复的比较多。出于笔试时间考虑,本文摘取16道,包含了CSS基本使用、时间绑定、定时器、存储、ajax和框架原理等内容。 题目偏简单,覆盖知识点勉强算全面。如果有更好的题目,也欢迎补充。 放着这里,希望能给正在准备面试的朋友们带来一点点价值。 ### 1. 一个200x200的div在不同分辨率屏幕上下左右居中,用css实现: di
2962

Git for windows 修改Home路径(版本号:2.14)
前人留下的网络资料有解决1.9版本的这个问题,但对2.14版本已经不再适用。前人资料:http://www.cnblogs.com/fenpho/p/6208896.htmlhttp://www.cnblogs.com/xunzhiyou/p/5028789.html实际操作后,修改/etc/profile文件后,重新开始GitBash并没有生效。由于Git的默认路径在C:\Users\Admin
1336

thinkphp6设置Content-type解决header添加不生效问题
thinkphp6设置Content-type解决header添加不生效问题原生php只需要加入header就可以实现输出各种格式的文件内容,如header("Content-type:text/css");然而,在thinkphp6中却不能生效。response总会自动的将内容以网页的形式输出。即自动添加<html>、<body>等标签,无法达到预期的效果。tp6框架中提
5814

【Gtest(Google Test)帮助手册】en-cn
Gtest官方使用文档英文文档获得方式:框架生成的执行文件,在命令行--help即可获得。中文翻译版本操作文档只对使用Gtest(GoogleTest)开发的测试用例有效。通过命令,你可以使用以下功能:选择测试用例: --gtest_list_tests列出所有的测试用例,但并不执行。代码中的用例TEST(Foo,Bar)显示出的结果是"Foo.Bar".  --gtest_f
2712

每天上班都像上坟一样难受,怎么办?三条妙招让上班像踏青
经常听到身边有些朋友抱怨,说每天上班的心情就想上坟。然而,真是如此么?小编相信,每位上班像上坟的朋友,身边不会缺少这样的朋友:每天上班精神抖擞,很有干劲,心情愉悦就像是来踏青一样。他们是怎么做到的呢?其实,上班不愉快无非就是上班时心情不好,感觉焦虑。要知道,这些都是可以解决的!人的一生,就是适应、利用、创造法则的一生。法则就是自然法则、社会秩序和公司规章制度。最无力的时候只能去学习、适应法则,成长
3699

CSDN-markdown编辑器示意效果
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗Ctrl+B斜体Ctrl+I引用Ctrl+Q插入链接Ctrl+L插入代码Ctrl+K插入图片Ctrl
1752

php开发遇到的Access denied for user
php开发遇到的Accessdeniedforuser'root'@'localhost'(usingpassword:NO)首发:2017-09-2413:44:38环境:CentOS6.5+php5.3.3在php开发过程中,我遇到了一个问题:在命令行中登录Mysql完全正常,然而PHP代码读取数据库却出了问题。报错如下:Accessdeniedforuser'root'@'localhost
3633

Linux环境C C++起Socket Server监听8080端口的代码实现
代码抄录自《UNUX网络编程卷一》,在实现开发环境中调试通过,经测试发现可以正常监听。(2017-09-0621:56:31)开发环境:CentOS,g++,VIM功能:C++实现Socket通信的Server端,实现监听8080端口接收到的消息。#include#include/*SeeNOTES*/#include#include#include#include#include#include
3041

CentOS 系统简易搭建FTP服务(四步足矣)
本文作者之前在CSDN发过(2017-09-0313:09:28),现在入驻本站。网上有很多的FTP搭建步骤,但普遍很繁琐,个人临时使用太麻烦。本次实验使用腾讯云服务器CentOS简易搭建FTP服务器,四行命令足矣完成基本使命。yuminstallvsftpdservicevsftpdstartuseradd-m-d/home/uftp-s/sbin/nologinuftppasswduftp目前
2785

解决修改CSS文件后网页显示不生效问题
刚开始学CSS,HTML+CSS+Div虽说是上个世纪就有产生的发明,但我却不会。不过,不要紧,学就是了。问题是这样的:我编写HTML文件,并调用CSS文件实现布局美化。然后,经常出现明明已经修改过CSS文件但HTML页面却并没有产生变化的现象。怎么办?CSS语法作为初学者,首先想到的时自己写错了。所以查找正确的语法,如这一文章中提到的HTML调用CSS管理、美化div,仔细检查,发现语法是OK的
3582

程序员该怎样写文档?
程序员该怎样写文档?文档的重要性在开发流程中的每一个阶段,文档都很重要。开发前的设计文档在开始Coding前,应先完成设计文档。设计文档包括需求分析、概要设计、架构图(模块功能图)、主要API的定义设计和当前开发任务的大体业务流程。设计文档的意义是在开发前将输出成果的未来式在产品经理、项目经理和架构师的脑海中达成共识。通过Review设计文档的工作模式,将产品相关的各个角色的意见和建议融入产品设计
3021