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.配置 NginxWordPress 已经安装完毕,我们配置 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
完成登录即可