CentOS下搭建wordpress全流程
突然,想搭建一个个人博客,所以就在网上搜了搜相关内容,好多人推荐wordpress,那么就打算光荣地采用wordpress了。以下是安装过程中遇到的所有的坑,现在总结如下,希望给安装wordpress的人一点参考。
推荐阿里云的建站步骤详解:阿里云wordpress教程
1. 安装步骤详解
环境
- 服务器操作系统:CentOS 6.4
- 博客部署服务器:Apache httpd
- 后台语言:PHP
- 数据库:MySql
- 前端框架:WordPress
步骤
一、安装Apache
安装 Apache 很简单,只需要在终端输入以下命令就可以了:
sudo yum install httpd
sudo 的意思是用 root 用户做什么操作,yum install 是在线安装;然后输入 yes 就确认下载安装了。
安装完毕之后我们需要启动服务:
sudo service httpd start
当启动服务器完成之后,先别着急往下弄,可以直接在浏览器中输入服务器的 ip 地址,应该就可以看到 Apache 的欢迎页面了。
This page is used to test the operation of the Apache HTTP server after it has been installed………等等
如果你的 ip 地址已经和域名绑定了,那么在浏览器中输入你的域名也可以访问了,是不是很酷,就是这么简单,咱们继续。
二、安装 MySql
安装 MySql,并启动 MySql
sudo yum install mysql-server
sudo service mysqld start
通过上面的命令就可以安装并启动了 mysql,安装 mysql 的时候会询问你一些简单的配置,输入 enter 和 yes 一路下来就 OK 了。
三、安装 PHP 以及相关 PHP 组件
先安装 PHP
sudo yum install php php-mysql
安装 PHP 相关组件
yum install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
我先安装了这几个组件,为以后使用,你要想了解所有的 PHP 组件的话,可以使用如下命令搜索:
yum search php-
四、开机默认启动 Apache 和 Mysql 服务
使用如下命令即可选择开机启动 Apache 和 Mysql:
sudo chkconfig httpd on
sudo chkconfig mysqld on
可以用 service --status-all 来查看这两个进程是否启动。
五、测试 PHP 是否安装成功
建立一个 info.php 文件:
sudo vim /var/www/html/info.php
然后输入 i 进入编辑模式,在文件中写入下面的 PHP 命令:
<?php
phpinfo();
?>
然后按 esc 键进入命令模式, 按下 Shift 键和两次 z 键,就退出保存文件。
在浏览器中输入 IP地址/info.php,例如:119.29.165.134/info.php 回车,就可以看到 PHP 的信息了。
六、下载 WordPress
中文官方网站是cn.wordpress.org
通过下面的命令下载:
wget http://cn.wordpress.org/wordpress-3.9-zh_CN.zip
七、解压
使用 unzip 来解压文件:
unzip wordpress-3.8-zh_CN.zip
八、在 Mysql 中新建数据库
mysql -u root -p
通过上面的命令进入数据库,然后输入密码:password
然后创建一个叫 wordpress 的数据库
create database wordpress;
九、修改 wp-config.php 文件
按照下面的形式修改 wp-config.php 文件,
/** MySQL数据库名:wordpress */
define(‘DB_NAME', ‘wordpress');
/** MySQL数据库用户名 :root*/
define(‘DB_USER', ‘root');
/** MySQL数据库密码 :password*/
define(‘DB_PASSWORD', ‘123456');
/** MySQL主机(不用修改) */
define(‘DB_HOST', ‘localhost');
十、把文件复制到 /var/www/html 目录下
cp -rf wordpress/* /var/www/html/
十一、测试
在浏览器中输入服务器的 ip (http://119.29.165.134/wordpress)即可查看到自己主页。
不出意外的话,应该显示如下所示:
2. 遇到的各种坑
1. 执行sudo service mysqld start时,报如下错误:
httpd: apr_sockaddr_info_get() failed for hadoop
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
原因:这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName。所以apache会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。
解决办法:
(1)可以设定httpd.conf文件中的 ServerName,如下:ServerName localhost:80
(2)在 /etc/hosts 中填入自己的主机名称 weekend110,如下:127.0.0.1 weekend110 (主机名称)
2. 安装完成后,发现PHP不能解析
应该返回php信息页面,但是只返回了源代码,排查信息如下:
1.apache没有添加对应的php类型,所以不支持php的脚本解析
解决办法:在配置文件中添加对应类型
找到apache配置文件:知道位置的自己去找,不知道位置的试试使用find命令
在根目录下执行:#find / -name "httpd.conf"
修改httpd.conf在文件中添加一行内容:AddType application/x-httpd-php .php
2.没有加上针对php的索引,如果没有该索引的支持,则无法解析用php编写的网页
解决办法:在配置文件中添加对应索引
找到配置文件方法同上,找到DirectoryIndex index.html
改为DirectoryIndex index.html index.htm index.php 即可
3.开启了防火墙
用命令:#getenforce
来查看防火墙的状态,若是Enforcing,说明是打开的,请在配置文件中关闭
在/etc/selinu目录下,修改config中的enforcing为disabled
4.未加载php5_module模块
解决办法:添加模块
在配置文件中添加:LoadModule php5_module modules/libphp5.so
最后重新启动机器。
3. httpd启动不正常
安装完成后,启动一切显示正常,但查看httpd状态时:
service httpd status
httpd dead but subsys locked
尝试删除锁:
sudo rm -f /var/lock/subsys/httpd
没有起作用,这时重新启动httpd,报错:
service httpd restart
Stopping httpd: [FAILED]
Starting httpd: (98)Address already in use: make_sock: could not bind to address 10.10.26.11:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]
于是,网上各种Google找方法,都没解决。
然后检查httpd.conf发现 PidFile变量默认被设置为run/httpd.pid,把它变成指向/var/run:
PidFile /var/run/httpd.pid
同时在/etc/sysconfig/httpd修改:
PIDFILE=/var/run/httpd.pid
kill掉httpd 进程(或是通过端口查找再kill掉):
killall -9 httpd
删除锁:
sudo rm -f /var/lock/subsys/httpd
重新启动httpd:
sudo service httpd restart
这时问题解决:
service httpd status
httpd (pid 14331) is running...
CentOS下搭建wordpress全流程的更多相关文章
- CentOS下搭建LNMP+WordPress+http2.0教程
此文是本人CentOS下搭建WordPress的一些笔记,环境搭建时间::将看过的几篇文章总结下来,形成一条龙长文.不用大家再找来找去. 本文大概分为此几部分: 一.基础命令更新: 二.服务器加速(非 ...
- CentOS下搭建LAMP环境详解
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...
- Centos下搭建 nginx+uwsgi+python
python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...
- 在CentOS下搭建Android 开发环境
在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...
- centos下搭建python双版本环境
目录 centos下搭建python双版本环境 一.安装python3 1.理清自带python位置 2.更新用于下载编译python3的相关包 3.安装pip 4.用pip安装wget 5.用wge ...
- Centos下搭建LAMP+PHP
Centos下搭建LAMP+PHP LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写: Linux,操作系统 Apache,网页服务器 MariaDB或MySQL,数据库管 ...
- Centos下搭建DNS域名解析服务器
Centos下搭建DNS域名解析服务器 DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域 ...
- centos 下 搭建 php 环境
本文详细阐述在 Linux 系统中搭建 PHP 环境,由于 PHP 就是由 C 语言编写的,最初也是运行在 Linux 系统中,所以Linux 是 PHP 的最佳环境. 关于本文中使用到的软件,请点击 ...
- LNMP环境下搭建wordpress
WordPress 下载WordPress安装包,可以直接wget获取也可以ftp上传,解压到/usr/share/nginx/html/blog-wp,访问index.php即进行安装: wor ...
随机推荐
- 一个Tomcat配置参数引发的血案
转载:https://mp.weixin.qq.com/s/3IuTcDCTB3yIovp6o_vuKA 一.现象 有用户反馈访问PC首页偶尔会出现白页情况,也偶尔会收到听云的报警短信 二.监控(听云 ...
- java线程总结(1/5)
前言 闲来无事正值面试,看面试中有线程之问题,特此总结一番. 正文 一.线程和进程的区别:1.每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销.2.线程可以看成时轻量级的进程 ...
- 虚拟机快照,克隆,静态ip地址的设置(centos 6.5)
一.快照 例如,当我们在虚拟机上做实验或是作测试时,难免碰到一些不熟悉的地方,此时做个快照,备份一下当前的系统状态,一旦操作错误,可以很快还原到出错前的状态,完成实验,最终避免一步的失误导致重新开始整 ...
- 新手IOS tweak越狱app开发记录
需要改变原先程序功能流程的话,是要用到Logos Tweak 开发.另外,.在苹果商城下载到的app,不能直接拿来分析.需要先做一定的前期准备.网上有很多相关的写第一个越狱插件的文章,这里就不在赘言了 ...
- 安卓Eclipse开发人员的福音
我们知道.谷歌已经放弃对Eclipse(ADT)的维护更新了.如今官网上也找不到ADT的下载链接了,我们大多数同学仍在使用的ADT版本号可能已经非常老了,预计大多数的SDK版本号仅仅到4.4,而,在尝 ...
- 细说linux IPC(一):基于socket的进程间通信(上)
[版权声明:尊重原创.转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途] 在一个较大的project其中 ...
- 06-hibernate注解-一对多单向外键关联
一对多单向外键 1,一方持有多方的集合,一个班级有多个学生(一对多). 2,@OneToMany(cascade={CascadeType.ALL}, fetch=FetchType.LAZY ) / ...
- (三)Solr——Solr的基本使用
1. Schema.xml 在schema.xml文件中,主要配置了solrcore的一些数据信息,包括Field和FieldType的定义等信息,在solr中,Field和FieldType都需要先 ...
- 单元测试JUnit 4(二)——keeps the bar green to keeps the code clean
1.Failure和Error Failure是指测试失败 Error是指测试程序本身出错 (int a=10/0) 2.JUnit常用注解 2.1 @RunWith: 可以更改测试运行器(继承o ...
- pip换国内源
pip换国内源 1.国内常用源 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu. ...