搭建LNMP+WordPress博客系统安装发布
实验环境配置:centos7.6 + nginx1.14.2 + mysql-5.6.36 + php-7.2.11
CV工程师还请黏贴时注意命令!!!软件包等相关路径根据自己的来!!!!
一、NGINX
1.1、NGINX安装:
>>>>>>安装依赖包:<<<<<<
[root@ljc-97 ~]# yum install -y pcre-devel openssl-devel
>>>>>>创建一个管理nginx进程的虚拟用户:<<<<<<
[root@ljc-97 ~]# useradd www -s /sbin/nologin/ -M
>>>>>>编译配置<<<<<<
[root@ljc-97 ~]# cd /tools/ ---软件包存放的位置
[root@ljc-97 tools]# tar xf nginx-1.14.2.tar.gz ---解压
[root@ljc-97 tools]# cd nginx-1.14.2
[root@ljc nginx-1.14.2]# ./configure \
--prefix=/usr/local/nginx-14.2 \
--user=www --group=www \
--with-http_ssl_module \
--with-http_stub_status_module
****末尾 \ 换行符,粘贴时注意,建议复制到记事本先编辑****
[root@ljc nginx-1.14.2]# make && make install
>>>>>>为nginx程序软件创建链接目录(升级版本时直接替换就好。)<<<<<<
[root@ljc nginx-1.14.2]# ln -s /usr/local/nginx-14.2 /usr/local/nginx
1.2、启动NGINX:
[root@ljc nginx-1.14.2]# /usr/local/nginx/sbin/nginx -----启动nginx
>>>>>>浏览器输入IP地址访问,出现 welcome to nginx 界面表示安装成功~<<<<<<
[root@ljc nginx-1.14.2]# /usr/local/nginx/sbin/nginx -s stop ------停止nginx
[root@ljc nginx-1.14.2]# /usr/local/nginx/sbin/nginx -t ------查看配置参数是否正确
>>>>>>编译配置说明:<<<<<<
--prefix=PATH 指定软件安装在什么目录下
--user=USER 指定软件worker进程管理用户,利用www虚拟用户管理worker进程
--group=USER 指定软件worker进程管理组
--with-http_ssl_module 使nginx程序可以支持HTTPsF访问功能
--with-http_stub_status_module 用于监控用户访问nginx服务情况
二 、MySQL
2.1、mysql安装前期准备:
>>>>>>依赖包准备<<<<<<
***** 1)cmake包,要求2.8以上版本。cmake和configure一样,mysql是不支持configure的。https://cmake.org/download/
***** 2)boost库包: boost Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。https://www.boost.org/
***** 3)mysql包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
>>>>>>安装依赖包<<<<<<
[root@ljc-97 ~]# yum -y install ncurses-devel gcc-\* bzip2-\* bison
>>>>>> cmake install 官网下载 cmake<<<<<<
[root@ljc-97 tools]# wget https://github.com/Kitware/CMake/releases/download/v3.14.0-rc4/cmake-3.14.0-rc4.tar.gz
[root@ljc-97 tools]#tar xf cmake-3.14.0-rc4.tar.gz
[root@ljc-97 tools]cd cmake-3.14.0-rc4
[root@ljc-97 cmake-3.14.0-rc4]./configure ----等候时间较长
[root@ljc-97 cmake-3.14.0-rc4]make && make install ---时间更长~~~慢慢等吧~~~
>>>>>>www.ijiiyee.com<<<<<<
说明:结束时候可以echo $?确认是否正确安装。
输出结果若为0,正确安装,
其他数字,安装错误。
>>>>>> boost 官网下载(页首已提供下载)<<<<<<
[root@ljc-97 tools]tar xf boost_1_59_0.tar.bz2
[root@ljc-97 tools]mv boost_1_59_0 /usr/local/boost
>>>>>> mysql<<<<<<
[root@ljc-97 tools]# tar xvf mysql-5.6.36.tar.gz
2.2、安装mysql
[root@ljc-97 tools]# cd mysql-5.6.36
[root@ljc-97 mysql-5.6.36]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data/ \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0 \
-DWITH_EMBEDDED_SERVER=1 \
-DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost
[root@ljc-97 mysql-5.6.36]#make && make install
~~~~出门遛个弯,还在make~~~
~~~文中的 \ 问换行符号,建议复制到本地记事本文件编辑后在使用,不然容易报错~~~
>>>>>>编译参数解释说明<<<<<<
>>>>可按实际生产环境需求增加或减少配置
[root@ljc-97 ~]# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 指定安装路径
-DMYSQL_DATADIR=/application/data/ 指定数据目录
-DMYSQL_UNIX_ADDR=/application/mysql/mysql.sock 指定sock文件路径
-DWITH_INNOBASE_STORAGE_ENGINE=1 安装Innodb存储引擎
-DWITH_MYISAM_STORAGE_ENGINE=1 安装myisam存储引擎
-DENABLED_LOCAL_INFILE=1 允许使用Load data命令从本地导入数据
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 安装所有字符集、默认字符集utf-8 、校验字符
-DMYSQL_USER=mysql mysql用户名
-DWITH_DEBUG=0 关闭debug
-DWITH_EMBEDDED_SERVER=1 生成一个libmysqld.a(.so)的库,这个库同时集成了mysql服务与客户端API
-DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost 允许boost 允许下载boost库文件
2.3安装后操作
>>>>>>拷贝一个启动文件,并建立软连接<<<<<<
[root@ljc-97 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@ljc-97 ~]# useradd -s /sbin/nologin -r mysql
[root@ljc-97 ~]# chmod 755 /etc/init.d/mysql
[root@ljc-97 ~]# chown mysql.mysql /usr/local/mysql/ -R
[root@ljc-97 ~]# ln -sf /usr/local/mysql/bin/* /usr/bin/
[root@ljc-97 ~]# ln -sf /usr/local/mysql/lib/* /usr/lib/
[root@ljc-97 ~]# ln -sf /usr/local/mysql/libexec/* /usr/local/libexec
[root@ljc-97 ~]# ln -sf /usr/local/mysql/share/man/man1/* /usr/share/man/man1
[root@ljc-97 ~]# ln -sf /usr/local/mysql/share/man/man8/* /usr/share/man/man8
>>>>>>修改配置文件(etc/my.cnf)<<<<<<
[root@ljc-97 ~]# vim /etc/my.cnf ----编辑成以下内容
[root@ljc-97 ~]# egrep -v "^#|^$" /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql ----mysql安装位置
datadir=/usr/local/mysql/data ----mysql数据存放位置
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysql.log ----mysql错误日志
pid-file=/var/run/mysql.pid
!includedir /etc/my.cnf.d
>>>>>>初始化数据库(根据软件版本选择)<<<<<<
--------mysql 3.7版本:
[root@ljc-97 mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
--------mysql 3.6版本:
[root@ljc-97 ~]# cd /usr/local/mysql/scripts/
[root@ljc-97 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
>>>>>>mysql 5.7版本:执行完出现临时密码需记住然后修改<<<<<<
root@localhost: nU>BeWw>8Hi#
>>>>>>mysql 5.6版本不出现密码,后续直接设置密码。<<<<<<
>>>>>>mysql 5.6版本设置密码:<<<<<<
[root@ljc-97 ~]# mysqladmin -uroot password 'ljc123'
2.4、启动mysql
[root@ljc-97 ~]# /etc/init.d/mysql start
三、PHP安装部署:
3.1、安装依赖包
[root@ljc-97 ~]# yum install gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gd net-snmp-* -y
[root@ljc-97 local]# cd /usr/src/ ----------PHP压缩包存放位置
[root@ljc-97 ~]# tar xf php-7.2.11.tar.gz
[root@ljc-97 src]# cd php-7.2.11/
>>>>>>以下编译参数较多,可按需增减,也可直接用生产环境<<<<<<
------文中的 \ 换行符号,建议复制到本地记事本文件编辑后在使用,不然容易报错----
[root@ljc-97 php-7.2.11]# ./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mysqli=mysqlnd --enable-embedded-mysqli \
--with-mysql-sock=/usr/local/mysql/ \
--enable-pdo --with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/ \
--enable-fpm --with-fpm-user=www --with-fpm-group=www \
--with-pcre-regex --with-zlib --with-bz2 --with-zlib-dir \
--enable-zip --enable-calendar \
--disable-phar --with-curl --enable-dba \
--with-libxml-dir --enable-ftp --with-gd \
--with-jpeg-dir --with-png-dir --with-freetype-dir \
--enable-gd-jis-conv --with-mhash --enable-mbstring \
--enable-opcache=yes --enable-pcntl --enable-xml \
--disable-rpath --enable-shmop --enable-sockets \
--enable-bcmath --with-snmp --disable-ipv6 \
--with-gettext --disable-debug
>>>>>>参数解释<<<<<<
--prefix=/usr/local/php 安装路径
--with-config-file-path=/usr/local/php/etc 配置文件路径
--with-mysqli=mysqlnd --enable-embedded-mysqli --with-mysql-sock=/usr/local/mysql/ 对mysql支持
--enable-pdo --with-pdo-mysql=mysqlnd 对PHP的pdo扩展库支持
--with-iconv-dir=/usr/local/ 字符集转码工具
--enable-fpm --with-fpm-user=www --with-fpm-group=www 对PHP的服务php-fpm支持,用户是www,组是www
--with-pcre-regex 对pcre的支持
--with-zlib --with-bz2 --with-zlib-dir --enable-zip 对压缩的支持
--enable-calendar 打开日历扩展功能
--disable-phar
--with-curl 对curl工具的支持
--enable-dba
--with-libxml-dir
--enable-ftp
--with-gd --with-jpeg-dir --with-png-dir 对图片的支持
--with-freetype-dir 打开对freetype字体库的支持
--enable-gd-jis-conv
--with-mhash mhash算法的支持
--enable-mbstring 多字节,字符串的支持
--enable-opcache=yes
--enable-pcntl freeTDS需要用到的,可能是链接mssql 才用到
--enable-xml
--disable-rpath 关闭额外的运行库文件
--enable-shmop
--enable-sockets 打开 sockets 支持
--enable-bcmath 打开图片大小调整
--with-snmp --disable-ipv6
--with-gettext 打开gnu 的gettext 支持,编码库用到
--disable-debug 关闭调试模式
>>>>>>编译安装<<<<<<
[root@ljc-97 php-7.2.11]# make && make install
3.2、 PHP web环境部署
[root@ljc-97 etc]# cd /usr/local/php/etc
[root@ljc-97 etc]# cp php-fpm.conf.default php-fpm.conf
[root@ljc-97 etc]# vim php-fpm.conf -------编辑成以下内容
[root@ljc-97 etc]# egrep -v "^;|^$" /usr/local/php/etc/php-fpm.conf
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
daemonize = yes
include=/usr/local/php/etc/php-fpm.d/*.conf
[root@ljc-97 etc]# cd php-fpm.d/
[root@ljc-97 php-fpm.d]# ls
www.conf.default
[root@ljc-97 php-fpm.d]# pwd
/usr/local/php/etc/php-fpm.d
[root@ljc-97 php-fpm.d]# cp www.conf.default www.conf
[root@ljc-97 php-fpm.d]# vim www.conf
[root@ljc-97 php-fpm.d]# egrep -v "^;|^$" /usr/local/php/etc/php-fpm.d/www.conf
[www]
user = www
group = www
listen = 127.0.0.1:9000
listen.owner = www
listen.group = www
listen.mode = 0660
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
>>>>>>复制启动文件<<<<<<
[root@ljc-97 php-fpm.d]# cp /usr/src/php-7.2.11/sapi/fpm/php-fpm.service /etc/systemd/system/
[root@ljc-97 php-fpm.d]# chmod 755 /etc/systemd/system/php-fpm.service
[root@ljc-97 php-fpm.d]# systemctl daemon-reload ----重载下
[root@ljc-97 php-fpm.d]# systemctl start php-fpm.service -----开启php-fpm
[root@ljc-97 php-fpm.d]# lsof -i :9000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 129771 root 6u IPv4 100851 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 129772 www 8u IPv4 100851 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 129773 www 8u IPv4 100851 0t0 TCP localhost:cslistener (LISTEN)
3.3、 nginx和PHP关联
[root@ljc-97 php-fpm.d]# vim /usr/local/nginx/conf/nginx.conf
user www; 用户为www
location / {
root html;
index index.php index.html index.htm; ------此处增加index.php
}
location ~ \.php$ { -----------此行开始删除注释
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
----修改php在编译产生的脚本临时文件存放位置:/usr/local/nginx/html ----
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
include fastcgi_params;
3.4、生成测试页面
[root@ljc-97 html]# cat phpinfo.php
<?php
phpinfo();
?>
3.5、浏览器打开nginx的ip:
http://10.0.0.97/phpinfo.php
出现PHP页面表示安装成功,可以查看到编译参数
四、 部署WordPress
4.1、解压复制tar包
[root@ljc-97 tools]# tar xf wordpress-4.7.3-zh_CN.tar.gz
[root@ljc-97 wordpress]# ls
index.php wp-blog-header.php wp-includes wp-settings.php
license.txt wp-comments-post.php wp-links-opml.php wp-signup.php
readme.html wp-config-sample.php wp-load.php wp-trackback.php
wp-activate.php wp-content wp-login.php xmlrpc.php
wp-admin wp-cron.php wp-mail.php
>>>>>>移动所有文件到nginx的html目录下<<<<<<
[root@ljc-97 tools]# mv wordpress/* /usr/local/nginx/html/
[root@ljc-97 local]# chown www.www nginx/ -R ###修改nginx用户,组都为www
[root@ljc-97 html]# pwd
/usr/local/nginx/html
[root@ljc-97 html]# rm -f index.html ###删除nginx默认页面
[root@ljc-97 html]# head -1 ../conf/nginx.conf ###修改nginx用户为www
user www;
4.2、配置过程
>>>>>>浏览器打开输入10.0.0.97出现wordpress配置页面<<<<<<
设置:
数据库名:wordpress
用户名:root
密码:ljc123
数据库主机:127.0.0.1
>>>>>>点击下一步发现报错,原因:本地未建立wordpress数据库<<<<<<
进入服务器配置页面进入数据库:
[root@ljc-97 html]# mysql -uroot -pljc123
新建wordpress库
mysql> create database wordpress;
--------此时wordpress库中内容为空
--------浏览器侧安装wordpress成功后,可看见库中的内容
mysql> use wordpress;
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_wordpress |
+-----------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
+-----------------------+
12 rows in set (0.00 sec)
回到浏览器界面,再次配置,可成功安装wordpress
到此lnmp环境+wordpress博客系统就安装完成啦,可自定义wordpress中的主题,插件等等功能,各模块功能大家自行研究~~~~~
转载自:只是个小运维