WordPress是开源软件,您可以使用它创建漂亮的网站,博客或应用程序。 美丽的设计,强大的功能,以及自由构建任何你想要的东西。 WordPress是同时免费且无价的。
=======================================
1) 搭建前的环境准备
1. CentOS 7 一台机,配置IP,并且可以访问外网,本机将IP设置成 “ 10.0.0.8 ” 。
2. 关闭 Selinux 以及防火墙。
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl disable firewalld && systemctl stop firewalld && setenforce 0
iptables -F && /usr/sbin/iptables-save
3. 创建一个用户
useradd zfy && echo zfy:redhat|chpasswd && sed -i '$a zfy ALL=(ALL) NOPASSWD:ALL' /etc/sudoers && visudo -c
=======================================
开始部署Nginx
1)到官网下载一个Nginx源码包,本文采用编译安装方式。
mkdir /home/zfy/tools&&cd !$ #所有的包放入这
wget -q http://nginx.org/download/nginx-1.6.3.tar.gz
2)开始编译安装
安装Nginx基础依赖包
yum install -y pcre-devel openssl-devel
创建Nginx用户
useradd nginx -s /sbin/nologin -M
解压后安装Nginx
./configure --prefix=/application/nginx-1.6.3 --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module && make -j 4 && make install
创建软连接,方便升级及我们使用
ln -s /application/nginx-1.6.3 /application/nginx
安装完成,启动nginx,首先检测80端口是否被占用。
lsof -i:80
/application/nginx/sbin/nginx
2)安装Mysqld,这用的是mysql-5.7.22版本,二进制包。
wget -P /home/zfy/tools/ https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
解压后把内容拷贝到 /application/mysql-5.7.22 中
tar -xzf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
cp -ar mysql-5.7.22-linux-glibc2.12-x86_64 /application/mysql-5.7.22
ln -s /application/mysql-5.7.22 /application/mysql
配置环境变量
echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
. /etc/profile
初始化数据库
useradd -s /sbin/nologin -M mysql
mkdir /application/mysql/data
/application/mysql/bin/mysqld --initialize --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
删除Mariadb
rpm -qa|grep mariadb|xargs -n1 rpm -e --nodeps
启动数据库
cp support-files/mysql.server /etc/init.d/mysqld #将启动脚本拷贝到init.d下。
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld #修改mysql默认安装路径
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start
修改Mysql密码,不能输入在命令行上,一种安全机制吧
最后创建数据库以及wordpress用户.
create database wordpress;
grant all on wordpress.* to wordpress@'localhost' identified by '123456'; #'123456'是密码
grant all on wordpress.* to wordpress@'%' identified by '123456';
flush privileges;
检查刚创建的用户
mysql> select user,host from mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| wordpress | % |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
| wordpress | localhost |
+---------------+-----------+
5 rows in set (0.00 sec)
3)安装PHP,这里采用PHP-7.0.1版本
安装PHP的依赖
用第三方的源: wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
yum install -y libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel libmcrypt-devel
yum install -y freetype-devel gmp-devel readline-devel
下载PHP-7.0.1源码包
wget -P /home/zfy/tools/ http://am1.php.net/distributions/php-7.0.1.tar.gz
解压后开始安装
#!/bin/bash
./configure \
--prefix=/application/php-7.0.1 \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache
||make -j 4 && make install
一些重要参数:
mhash #基于离散数学原理不可逆向的PHP加密扩展库,默认关闭。
mcrypt #可以实现加密解密功能,默认关闭。
--with-mysql=mysqlpath #可以用mysqlnd代替,因为php自带连接mysql的客户端工具。
--with-fpm-user=nginx #表示进程管理的用户为Nginx.
--with-fpm-group=nginx #表示进程管理的组为Nginx.
--enable-fpm #激活php-fpm方式服务,已FastCGIF方式运行PHP服务.
--with-pdo-mysqld=mysqlnd #php访问数据库定义的轻量级一致性接口.
--enable-opcache #安装Zendopcache加速插件,提升速度.
配置PHP
cp /application/php/etc/php-fpm.conf{.default,}
cp /application/php/etc/php-fpm.d/www.conf{.default,}
cp /home/zfy/tools/php-7.0.1/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /home/zfy/tools/php-7.0.1/php.ini-production /etc/php.ini
chmod +x /etc/init.d/php-fpm
启动PHP服务
4)安装WordPress
下载wordpress,解压就不演示了
wget -P /home/zfy/tools/ https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
接下来配置Nginx
添加一行在 /application/nginx/conf/nginx.conf 的http区块中:
创建一个blog.conf的文件在 /application/nginx/conf/extra 下,添加以下内容:
server {
listen 80;
server_name blog.zfy.com;
root html/blog;
location / {
index index.php index.html index.htm;
}
location ~\.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
重启Nginx服务
/application/nginx/sbin/nginx -t #检测nginx语法.
/application/nginx/sbin/nginx -s reload #平滑重启
创建一个名为 blog 目录在 /application/nginx/html/ 下.
测试LNMP的环境是否生效,将下面代码写入 test.php 中.
<?php
echo phpinfo();
?>
最后将wordpress的解压内容拷贝至此,在hosts里添加解析,如果是VPS忽略此步。
google浏览器访问 blog.zfy.com即可看到这个画面搭建完成.
如果不想手动添加,让blog目录给予nginx写入权限即可.
chown nginx. /application/nginx/html/blog -R
最后按照之前配置填入,显示以下为安装完成: