53

基于新版本LNMP编译安装+wordpress搭建个人博客-月光下的小路

 4 years ago
source link: https://blog.51cto.com/13932385/2404514
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

一、软件介绍

  • LNMP代表:Linux系统下的Nginx+Mysql+Php的网站构架技术。

  • Linux系统:免费使用和自由传播的类Unix操作系统,稳定可靠。

  • Nginx:高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

  • Mysql: 关系型数据库管理系统,本次使用mariadb软件,它是mysql的一个分支,由开源社区维护。

  • Php: 超文本预处理器,是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

  • WordPress: 使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。

二、安装准备:

本次通过虚拟机的方式进行安装,各个软件版本如下:

centos系统版本: 7.6.1810
nginx-1.16.0.tar.gz
mariadb-10.2.23.tar.gz
php-7.3.5.tar.bz2
wordpress-5.0.3-zh_CN.tar.gz

确认关闭selinux,关闭防火墙功能。
配置好yum源、epel源,以便于安装各个软件的依赖包。

三、编译安装:

编译安装mariadb:

1. yum安装mariadb的依赖包:

yum install bison bison-devel zlib-devel libcurl-devel libarch
ive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel -y

2. 准备mysql用户和数据存放目录:

useradd -r -s /sbin/nologin -d /data/mysql mysql
chown mysql.mysql /data/mysql

3. 进入源码包目录,进行编译:

tar xvf mariadb-10.2.23.tar.gz
cd mariadb-10.2.23/
[root@centos7 mariadb-10.2.23]# cmake . \
-DCMAKE_INSTALL_PREFIX=/apps/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/mysql \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

make && make install

4. 设置环境变量

vi /etc/profile.d/mysql.sh
export PATH=/apps/mysql/bin:$PATH

source /etc/profile.d/mysql.sh

5. 准备配置文件和生成数据库初始化文件

[root@centos7 mysql]# ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
[root@centos7 apps]# cp /apps/mysql/support-files/my-huge.cnf /etc/my.cnf

6.准备启动脚本

[root@centos7 apps]# cp /apps/mysql/support-files/mysql.server /etc/init.d/mysqld

7.mysql启动验证

[root@centos7 apps]# service mysqld start

至此,mysql已可以正常登录:

基于新版本LNMP编译安装+wordpress搭建个人博客

编译安装nginx:

1. yum安装nginx的依赖包:

[root@centos7 nginx-1.16.0]# yum install -y vim lrzsz tree screen psmisc lsof tcpdump wget ntpdate gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel net-tools iotop bc zip unzip zlib-devel bash-completion nfs-utils automake libxml2 libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed

2. 进入源码包目录进行编译:

[root@centos7 nginx-1.16.0]# ./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

make && make install

3. 创建nginx运行账号:

[root@centos7 nginx-1.16.0]# useradd nginx -s /sbin/nologin -u 2000
[root@centos7 nginx-1.16.0]# chown -R nginx.nginx /apps/nginx/
[root@centos7 nginx-1.16.0]# ln -sv /apps/nginx/sbin/nginx /usr/sbin/

4. 启动nginx:

[root@centos7 nginx-1.16.0]# nginx
[root@centos7 nginx-1.16.0]# ss -tunl | grep 80

从客户端浏览器进行验证:

基于新版本LNMP编译安装+wordpress搭建个人博客

编译安装php:

1. yum安装php的依赖包:

yum install -y libxml2-devel openssl-devel libcurl-devel libjpeg-turbo-devel libpng-devel freetype-devel gmp-devel bzip2-devel libmcrypt-devel libzip-devel

2. 进入php源码包进行编译:

[root@centos7 src]# cd php-7.3.5/

[root@centos7 php-7.3.5]# ./configure --prefix=/apps/php \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-pear \
--with-curl \
--with-png-dir \
--with-freetype-dir \
--with-iconv \
--with-mhash \
--with-zlib \
--with-xmlrpc \
--with-xsl \
--with-openssl \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--disable-debug \
--enable-mysqlnd \
--enable-zip \
--enable-sockets \
--enable-soap \
--enable-inline-optimization \
--enable-xml \
--enable-ftp \
--enable-exif \
--enable-wddx \
--enable-bcmath \
--enable-calendar \
--enable-shmop \
--enable-dba \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg

注意,此步骤之后,系统提示libzip要求大于0.11版本,而yum安装的最新版本是0.10。
从官网找到最新的libzip-1.5.2, https://libzip.org/

基于新版本LNMP编译安装+wordpress搭建个人博客

开始编译之后,出现了另外个问题,显示cmake的版本过低。
简直麻烦到死,难道还要编译cmake吗?经过网上搜索,发现另外一个方式,就是降低libzip的版本就行,选定libzip-1.3.2以下进行编译。

yum -y remove libzip-devel
wget https://libzip.org/download/libzip-1.3.2.tar.gz
tar xvf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure
make -j 4
make install
中途没有报错,libzip依赖问题解决了。

然后重新执行./configure --prefix=/apps/php ...
这一步骤,这次终于没有报错了。
[root@centos7 php-7.3.5]#make && make install

3. 准备php的配置文件:

[root@centos7 apps]# cd php/etc/php-fpm.d/
[root@centos7 php-fpm.d]# mv www.conf.default www.conf #生成php-fpm的配置文件

[root@centos7 php-7.3.5]# cp php.ini-production /apps/php/etc/php.ini #从源码安装目录负责php的配置文件到安装目录

[root@centos7 etc]# cp php-fpm.conf.default php-fpm.conf

4. 创建php的运行账号:

[root@centos7 php-7.3.5]# useradd -r -s /sbin/nologin www

5. 启动php-fpm:

[root@centos7 etc]# /apps/php/sbin/php-fpm -t
[02-Jun-2019 20:10:26] NOTICE: configuration file /apps/php/etc/php-fpm.conf test is successful

[root@centos7 etc]# /apps/php/sbin/php-fpm -c /apps/php/etc/php.ini
[root@centos7 etc]# ps -ef | grep php-fpm
[root@centos7 etc]# ss -tanlp | grep php-fpm

php-fpm已正常启动。

6.配置nginx支持php-fpm:

[root@centos7 nginx]# vi /apps/nginx/conf/nginx.conf

基于新版本LNMP编译安装+wordpress搭建个人博客

启用nginx主配置文件中的php配置,并修改。

基于新版本LNMP编译安装+wordpress搭建个人博客

7.准备php的测试页面:

[root@centos7 html]# vi index.php

基于新版本LNMP编译安装+wordpress搭建个人博客

8.重启nginx,访问php状态页面:

基于新版本LNMP编译安装+wordpress搭建个人博客

以上,LNMP的网站环境就部署完成了。

部署个人博客软件wordpress:

1.解压wordpress软件准备安装:

cd /usr/local/src/
cp -r wordpress /apps/nginx/html/

2.准备wordpress的php配置文件:

[root@centos7 wordpress]# cp wp-config-sample.php wp-config.php
[root@centos7 wordpress]# vi wp-config.php #配置wordpress数据库的账号信息

基于新版本LNMP编译安装+wordpress搭建个人博客

3.进入数据库授权wordpress的信息:

基于新版本LNMP编译安装+wordpress搭建个人博客

使用wpuser账号登录数据库进行验证:

基于新版本LNMP编译安装+wordpress搭建个人博客

4.访问web页面,安装wordpress:

基于新版本LNMP编译安装+wordpress搭建个人博客
基于新版本LNMP编译安装+wordpress搭建个人博客
基于新版本LNMP编译安装+wordpress搭建个人博客

以上,就是基于LNMP+wordpress的个人博客系统。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK