CentOS 7搭建WordPress个人博客网站

CentOS 7搭建WordPress个人博客网站

首先介绍一下LAMP和LNMP

LMAP即Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的首字母缩写。这是一组常用来搭建动态网站或者服务器的开源软件。它们本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

Linux

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

本次使用的CentOS为Linux的一个发行版。

Apache

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

Apache的主程序名叫httpd,这也是我们实验的时候需要安装的程序之一。

MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

本次实验使用的数据库软件为MySQL的一个分支软件,叫做MariaDB。

php

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

WordPress

WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

LNMP和LAMP的区别

LNMP和LAMP的区别就在于使用Nginx而不是Apache。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

Nginx和Apache的优缺点对比

nginx 相对 apache 的优点:

轻量级,同样起web 服务,比apache 占用更少的内存及资源。

抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能。

高度模块化的设计,编写模块相对简单。

社区活跃,各种高性能模块出品迅速啊。

apache 相对nginx 的优点:

rewrite ,比nginx 的rewrite 强大。

模块超多,基本想到的都可以找到。

少bug ,nginx 的bug 相对较多。

超稳定。

动手实操

假设你已经安装好了centos 了(如果不会,可以直接在阿里云购买)

先看下系统版本号,我当前装的是CentOs 7.4虚拟机

1

2

3

[itarea@centos-7~]$cat/etc/centos-release

CentOS Linux release7.4.1708(Core)

[itarea@centos-7~]$

Apache安装

1

2

3

[itarea@centos-7~]$yum install httpd-y

Loaded plugins:fastestmirror,langpacks

You need tobe root toperform thiscommand

报错提示没有权限,解决办法,改为root权限,然后输入密码回车

1

2

[itarea@centos-7~]$su root

Password:

可以看到,用户切换成了root,再执行一遍安装

1

[root@centos-7itarea]# yum install httpd -y

接下来,我们启动httpd服务:

1

[root@centos-7itarea]# systemctl start httpd

1

2

3

4

5

6

7

8

9

10

11

12

[root@centos-7itarea]# ss -tnl

State Recv-QSend-QLocal Address:Port Peer Address:Port

LISTEN0128*:111*:*

LISTEN05192.168.122.1:53*:*

LISTEN0128*:22*:*

LISTEN0128127.0.0.1:631*:*

LISTEN0100127.0.0.1:25*:*

LISTEN0128:::111:::*

LISTEN0128:::80:::*

LISTEN0128:::22:::*

LISTEN0128::1:631:::*

LISTEN0100::1:25:::*

可以看到http服务的80端口是处于监听状态的。

MySQL安装

1

[root@centos-7itarea]# yum install mysql mariadb-server -y

安装完之后开启MySQL服务:

1

[root@centos-7itarea]# systemctl start mariadb

1

2

3

4

5

6

7

8

9

10

11

12

13

[root@centos-7itarea]# ss -tnl

State Recv-QSend-QLocal Address:Port Peer Address:Port

LISTEN0128*:111*:*

LISTEN05192.168.122.1:53*:*

LISTEN0128*:22*:*

LISTEN0128127.0.0.1:631*:*

LISTEN0100127.0.0.1:25*:*

LISTEN050*:3306*:*

LISTEN0128:::111:::*

LISTEN0128:::80:::*

LISTEN0128:::22:::*

LISTEN0128::1:631:::*

LISTEN0100::1:25:::*

可以看到mysql服务的3306端口是处于监听状态的。

进入Mysql,mysql第一次安装默认是没有密码的,输入后直接回车就行

1

2

3

4

5

6

7

8

9

10

11

[root@centos-7itarea]# mysql -u root -p

Enter password:

Welcome tothe MariaDB monitor.Commands endwith;or\g.

Your MariaDB connection idis3

Server version:5.5.56-MariaDB MariaDB Server

Copyright(c)2000,2017,Oracle,MariaDB Corporation Ab andothers.

Type'help;'or'\h'forhelp.Type'\c'toclearthe current input statement.

MariaDB[(none)]>

创建一个名为wordpress的数据库

1

2

3

4

5

6

7

8

9

10

Welcome tothe MariaDB monitor.Commands endwith;or\g.

Your MariaDB connection idis2

Server version:5.5.56-MariaDB MariaDB Server

Copyright(c)2000,2017,Oracle,MariaDB Corporation Ab andothers.

Type'help;'or'\h'forhelp.Type'\c'toclearthe current input statement.

MariaDB[(none)]>create database wordpress;

Query OK,1row affected(0.00sec)

查看数据库,并切换到mysql数据库

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

MariaDB[(none)]>show databases;

+--------------------+

|Database|

+--------------------+

|information_schema|

|mysql|

|performance_schema|

|test|

|wordpress|

+--------------------+

5rows inset(0.00sec)

MariaDB[(none)]>usemysql

Reading table information forcompletion of table andcolumn names

You can turn off thisfeature togetaquicker startup with-A

Database changed

MariaDB[mysql]>

更改数据库用户名为root密码

1

MariaDB[mysql]>update user set password=password('新密码')where user='root';

刷新用户权限列表,并退出重新登录

1

2

3

4

MariaDB[mysql]>flush privileges;

Query OK,0rows affected(0.00sec)

MariaDB[mysql]>exit

php安装

1

[root@centos-7itarea]# yum install php php-mysql php-gd php-xml -y

进入httpd主服务目录

1

[root@centos-7itarea]# cd /var/www/html

编辑phpinfo.php文件

1

[root@centos-7itarea]# vim phpinfo.php

点击I切换到Insert模式,输入以下内容,按ecs键,输入:wq 并回车

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<?php

echophpinfo();

?>

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

~

:wq

然后,打开浏览器,输入主机就可以看到PHP的信息:

WordPress安装

安装WordPress并解压,WordPress最新版下载地址:

1

2

[root@centos-7html]# wget

[root@centos-7html]# unzip wordpress-4.9.4-zh_CN.zip

注意:如果下载的地址不在/var/www/html目录下,你需要将文件移动到该目录下

1

[root@centos-7html]# cp -r wordpress/* /var/www/html

进入/var/www/html目录,复制wp-config-sample.php文件并将其命名为wp-config.php并编辑wp-config.php

1

2

[root@centos-7html]# sudo cp wp-config-sample.php wp-config.php

[root@centos-7html]# vim wp-config.php

然后找到下面这些内容,修改database_name_here为刚刚新建的数据库(本位为wordpress),username_here为root,密码为修改后的密码,然后按ecs输入:wq 退出保存

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

/**创建数据表时默认的文字编码*/

define('DB_CHARSET','utf8');

/**数据库整理类型。如不确定请勿更改*/

define('DB_COLLATE','');

安装wordpress,在浏览器地址栏输入地址/wp-admin/setup-config.php,博主是本地测试的,所以ip地址为localhost(127.0.0.1)

点击现在就开始,如果刚刚已经配置了wp-config.php就会出现左图,如果没有配置就会出现右图

点击提交

点击安装wordpress,点击登录

输入用户名和密码,登录

基于 CentOS7 搭建 WordPress 个人博客

原文地址:

1.准备 LNMP 环境

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

1.1.安装 Nginx

安装过程参考博客:使用nginx将阿里云服务器升级为https安装成功后在浏览器中输入虚拟机ip地址,来确认是否已经安装成功。下面是成功过界面

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

chkconfig nginx on1.2.安装 MySQL

安装MySQL参考博客:Centos7安装和配置MySQL5.7

安装成功连接MySQL如下:

1.3.安装 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

PHP-FPM 默认监听 9000 端口安装并配置 WordPress任务时间:30min ~ 60min

2.安装 WordPress2.1.下载配置 WordPress

配置好 LNMP 环境后,开始下载 WordPress:(官网:)

wget

如果不能下载,请去资源界面软件部分下载压缩包:网站资源 ;解压:

tar -zxvf wordpress-4.8.3-zh_CN.tar.gz

文件目录

安装完成后,就可以在 /usr/share/wordpress 看到 WordPress 的源代码了。连接MySQL

mysql -u root -p

为 WordPress 创建一个数据库:

CREATE DATABASE wordpress;

MySQL 部分设置完了,我们退出 MySQL 环境:

exit

然后将wordpress目录下的 wp-config-sample.php 重命名为 wp-config.php

mv wp-config-sample.php wp-config.php

然后把上述的 DB 配置同步到 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 * * @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', 'MySQLroot用户的密码');/** 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 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! */$table_prefix = 'wp_';/** * See *//* 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 */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');

注意修改MySQL的密码

2.2.配置 Nginx

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

vim /usr/local/nginx/conf/nginx.conf

参考内容如下,其中root /usr/share/wordpress;是我的wordpress目录

worker_processes 1;events { worker_connections 1024;}http { # 设置nginx允许上传文件的大小 client_max_body_size 10m; include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; 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。然后访问

安装成功

下面是成功的界面:

填写完信息之后登录,登录成功界面

网站主页

网站到这里就搭建成功了。可以自己研究研究.....

注意当前版本比较低,大家可以安装最新版本(我安装最新版本的时候,说php版本过低emmm,果断放弃)

centos 7 wordpress 安装

1, 安装remi 包

wget

yum install remi-release-7.rpm

2, 安装php

yum-config-manager --enable remi-php81

yum install php

yum install php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis php-common php-opcache php-memcached

3, 安装mysql5.7

rpm -Uvh

yum install mysql-community-server

4, 下载与安装wordpress

wget

tar -xvf latest-zh_CN.tar.gz

5, 配置wordpress

完成登录即可