大家好,今天带来的是搭建属于自己的博客网站,看到这篇文章的大佬肯定知道什么叫做博客了,所以这里就不在介绍,在这里介绍wordpress。
wordpress是什么?
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。
WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。
WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。
WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。
简单的说wordpress是使用PHP语言开发的博客的一个平台,所以我们完全可以使用LNMP或者LAMP这样的网站架构平台来搭建属于自己的博客。本章采用LNMP
LNMP的安装大家可以参考我的这篇文章:http://blog.csdn.net/qq_39591494/article/details/78829314
同时也可以使用以下脚本来安装LNMP环境,这里不再做演示了!
本篇文章完全可以使用云服务来搭建,这样就可以访问到自己的博客了,同时也可以分享给别人观看,博主在这篇文章也是使用的云主机来搭建,OS为Centos7.2!
#!/bin/bash
# DATE:Wed Jan 17 1# [email protected]
#this is a yankerp
# The Nginx service is being installed
ROOT_ID=0
ML=/usr/local/src
NGINX_ML=/usr/local/src/nginx-1.12.2
PML=/usr/local/src/php-5.6.27
QD=`netstat -anpt | grep 80 | awk '{print $7}' | cut -d "/" -f2 | cut -d ":" -f1`
ADDR=`ip a | grep eno16777728$ | awk '{print $2}' | cut -d "/" -f1`
MMM=`netstat -anput | grep mysqld | awk '{print $4}' | cut -d ":" -f4`
MAR=`rpm -qa | grep mariadb`
cd $ML && {
wget http://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null
mv Centos-7.repo /etc/yum.repos.d/Centos-Base.repo
yum clean all &> /dev/null
yum makecache &> /dev/null
}
if [ $? -eq 0 ]
then
echo "Yum源更新完毕,开始安装!!!"
else
echo "Yum源error"
exit 1
fi
echo "Yum源配置成功"
if [ "$UID" -eq "$ROOT_ID" ]
then
echo "root用户运行中" && systemctl stop firewalld && yum install -y gcc gcc-c++ pcre-devel zlib-devel openssl-devel &> /dev/null
else
echo "请使用Root用户运行"
exit 1
fi
echo "依赖包安装完成!"
cd $ML || {
echo "进入目录失败!!!"
exit 1
}
wget http://nginx.org/download/nginx-1.12.2.tar.gz &> /dev/null && {
tar zxf nginx-1.12.2.tar.gz && groupadd www && useradd -g www www -s /sbin/nologin
}
echo "Nginx包下载成功"
cd $NGINX_ML && {
./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-http_gzip_static_module --user=www --group=www &> /dev/null && make &> /dev/null && make install &> /dev/null
}
if [ $? -eq "0" ]
then
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin ;nginx && echo "Nginx启动成功,请访问http://$ADDR:80"
else
echo "Nginx启动失败!!!"
exit 1
fi
#Start installing MySQL5.7!
echo "开始下载MySQL二进制安装包,请稍等..."
if [ -z "$MAR" ]
then
echo "开始安装MySQL"
fi
if [ -n "$MAR" ]
then
rpm -e mariadb-libs --nodeps && echo "卸载mariadb成功!正式安装MySQL"
fi
cd $ML || {
echo "进入目录失败!!!"
exit 1
}
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz &> /dev/null && {
tar zxf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz && mv mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql
cd /usr/local/mysql/ && mkdir data && mkdir log && echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile && groupadd mysql && useradd -r -g mysql -s /bin/false mysql
}
cat << EOF >/etc/my.cnf
[client]
socket=/usr/local/mysql/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysqld.pid
socket=/usr/local/mysql/mysql.sock
log_error=/usr/local/mysql/log/mysql.err
EOF
if [ ! -d /etc/my.cnf ]
then
chmod 750 data/ && chown -R mysql . && chgrp -R mysql . && bin/mysqld --initialize --user=mysql && cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld && service mysqld start &> /dev/null
else
echo "错误!!!"
fi
if [ $? -eq "0" ]
then
echo "MySQL正式安装完成杀青!"
else
echo "MySQL安装失败!!!"
exit 1
fi
#PHP install sccessy
yum -y install libxml2-devel libcurl-devel openssl-devel bzip2-devel &> /dev/null
if [ $? -eq 0 ]
then
echo "依赖包安装成功!!!"
else
echo "依赖包安装失败!!!"
fi
cd $ML || {
echo "进入目录失败!!!"
exit 1
}
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz &> /dev/null && {
tar zxf libmcrypt-2.5.7.tar.gz && cd libmcrypt-2.5.7/ && ./configure --prefix=/usr/local/libmcrypt &> /dev/null && make &> /dev/null && make install &> /dev/null
}
if [ $? -eq 0 ]
then
echo "Libmcrypt安装成功!"
else
echo "Libmcrypt-ERROR!"
exit 1
fi
# PHP install
cd $ML || {
echo "进入目录失败!!!"
exit 1
}
wget http://cn2.php.net/distributions/php-5.6.27.tar.gz &> /dev/null && {
tar zxf php-5.6.27.tar.gz && cd php-5.6.27/ && ./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts &> /dev/null
}
if [ $? -eq 0 ]
then
make &> /dev/null && make install &> /dev/null && echo "PHP编译安装成功,正在配置请稍等...."
else
echo "PHP安装失败"
fi
cd $PML || {
echo "进入目录失败!!!"
exit 1
}
cp php.ini-production /etc/php.ini && {
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm && chmod +x /etc/init.d/php-fpm && chkconfig --add php-fpm && chkconfig php-fpm on
}
if [ $? -eq 0 ]
then
cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf && echo "复制主配置成功"
else
echo "PHP权限失败,请重试!"
fi
if [ ! -d /usr/local/php5.6/etc/php-fpm.conf ]
then
sed -i 's#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g' /usr/local/php5.6/etc/php-fpm.conf
sed -i 's/listen = 127.0.0.1:9000/listen = 127.0.0.1:9000/g' /usr/local/php5.6/etc/php-fpm.conf
sed -i 's/pm.max_children = 5/pm.max_children = 300/g' /usr/local/php5.6/etc/php-fpm.conf
sed -i 's/pm.start_servers = 2/pm.start_servers = 20/g' /usr/local/php5.6/etc/php-fpm.conf
sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 20/g' /usr/local/php5.6/etc/php-fpm.conf
sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 100/g' /usr/local/php5.6/etc/php-fpm.conf
else
echo "NONONO"
fi
if [ $? -eq 0 ]
then
systemctl start php-fpm && echo "PHP启动成功"
else
echo "启动PHP失败"
fi
#配置nginx解析php
if [ ! -d /usr/local/nginx/conf/nginx.conf ]
then
sed -i 's/index index.html index.htm;/index index.php index.html index.htm;/g' /usr/local/nginx/conf/nginx.conf
sed -i 's/# root html;/ root html;/g' /usr/local/nginx/conf/nginx.conf
sed -i 's/# fastcgi_pass 127.0.0.1:9000;/ fastcgi_pass 127.0.0.1:9000;/g' /usr/local/nginx/conf/nginx.conf
sed -i 's/# fastcgi_index index.php;/ fastcgi_index index.php;/g' /usr/local/nginx/conf/nginx.conf
sed -i 's*# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;* fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;*g' /usr/local/nginx/conf/nginx.conf
sed -i 's/# include fastcgi_params;/ include fastcgi.conf;/g' /usr/local/nginx/conf/nginx.conf
sed -i '71d' /usr/local/nginx/conf/nginx.conf && sed -i 'N;70a}' /usr/local/nginx/conf/nginx.conf
sed -i '65d' /usr/local/nginx/conf/nginx.conf && sed -i 'N;64alocation ~ \\.php$ {' /usr/local/nginx/conf/nginx.conf
else
echo "解析PHP失败!!!"
fi
touch /usr/local/nginx/html/yankerp.php
cat << EOF >/usr/local/nginx/html/yankerp.php
EOF
if [ ! -d /usr/local/nginx/html/yankerp.php ]
then
nginx -s reload && systemctl restart php-fpm
else
echo "测试目录文件失败"
fi
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &> /dev/null && yum install -y sl &> /dev/null
sl
if [ $? -eq 0 ]
then
echo "LNMP安装成功,请您访问http://$ADDR/yankerp.php"
else
echo "安装失败"
fi
if [ $? -eq 0 ]
then
echo "LNMP安装成功,请您访问http://$ADDR/yankerp.php"
else
echo "安装失败"
fi
###################################################################################################This is a yankerp~
运行脚本的过程中不会输出很多的一些过程,只会提示安装过程到哪里,运行过程大概5-20分钟左右,如下:
如果出现上图那么就安装成功了,接下来访问测试页!
2、下载wordpress,wordpress使用到mysql数据库,首先需要在mysql数据库上进行操作。在这个脚本下载完mysql数据库后mysql的密码在/usr/local/mysql/log/mysql.err下,获取密码 如下:
修改密码如下:(如果不修改,则不能创建库表等。)红色部分为新密码
登录到数据库后我们进行创建wordpress库以及授权如下:
创建完成后我们就可以下载wordpress了,下载地址https://cn.wordpress.org/
[root@yankerp ~]# tar zxf wordpress-4.9.1-zh_CN.tar.gz
[root@yankerp ~]# mv wordpress /usr/local/nginx/html/wordpress
[root@yankerp ~]# ll /usr/local/nginx/html/wordpress/
total 188
-rw-r--r-- 1 nobody 65534 418 Sep 25 2013 index.php
-rw-r--r-- 1 nobody 65534 19935 Jan 3 2017 license.txt
-rw-r--r-- 1 nobody 65534 7001 Nov 30 20:20 readme.html
-rw-r--r-- 1 nobody 65534 5434 Sep 23 20:21 wp-activate.php
drwxr-xr-x 9 nobody 65534 4096 Nov 30 20:20 wp-admin
-rw-r--r-- 1 nobody 65534 364 Dec 19 2015 wp-blog-header.php
-rw-r--r-- 1 nobody 65534 1627 Aug 29 2016 wp-comments-post.php
-rw-r--r-- 1 nobody 65534 2930 Nov 30 20:20 wp-config-sample.php
drwxr-xr-x 5 nobody 65534 4096 Nov 30 20:20 wp-content
-rw-r--r-- 1 nobody 65534 3669 Aug 20 12:37 wp-cron.php
drwxr-xr-x 18 nobody 65534 12288 Nov 30 20:20 wp-includes
-rw-r--r-- 1 nobody 65534 2422 Nov 21 2016 wp-links-opml.php
-rw-r--r-- 1 nobody 65534 3306 Aug 22 19:52 wp-load.php
-rw-r--r-- 1 nobody 65534 36583 Oct 13 10:10 wp-login.php
-rw-r--r-- 1 nobody 65534 8048 Jan 11 2017 wp-mail.php
-rw-r--r-- 1 nobody 65534 16246 Oct 4 08:20 wp-settings.php
-rw-r--r-- 1 nobody 65534 30071 Oct 19 01:36 wp-signup.php
-rw-r--r-- 1 nobody 65534 4620 Oct 24 06:12 wp-trackback.php
-rw-r--r-- 1 nobody 65534 3065 Sep 1 2016 xmlrpc.php
上面描述:解压wordpress包,拷贝到/usr/local/nginx/html/下,起个名字叫wordpress。完成之后打开浏览器访问
http://IP/wordpress如下:
以上就全部搭建成功,那么怎么发博文呢?
1)进入后台管理
浏览器输入http://IP/wordpress/wp-login.php如下:
此密码就是刚刚在安装时候的密码,进来之后我们点击文章-写文章就可以了
到这里大家就可以使用了!
希望对您有所帮助!~再见!