Web服务器群集——源码部署搭建LAMP平台上线wordpress博客上线

Posted Pakho`

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web服务器群集——源码部署搭建LAMP平台上线wordpress博客上线相关的知识,希望对你有一定的参考价值。

一、初识LAMP

1.1 LAMP的组成

在这里插入图片描述

  • L:很显然L代表Linux系统,但此L需注意系统的版本号,如Centos6.9或Centos7.3;
  • A:表示apache,在传统行业中,多数采用Apache服务器,因此也很有必要了解学习Apache;
  • M:表示数据库,多数采用mysql或mariadb,作为专业的数据库工程师需经多年的历练;
  • P:表示php、python、perl等等编程语言。

1.2 LAMP的作用

LAMP架构是协同工作的一整套系统和相关软件,可提供动态Web站点服务及其应用开发环境。具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。

1.3 LAMP的架构图

Linux+apache+mariadb+PHP组合的架构,架构图如下:
在这里插入图片描述
根据上图中访问数据流可知,处理一次动态页面请求,服务器主要经历:Apache处理请求——通过CGI接口访问PHP的的应用程序——PHP应用程序调用PHP解释器执行PHP代码——PHP程序访问调用数据库——最后给客户做反馈。

故在LAMP的环境机构中,apache、mariadb和php的主要功能分别如下
在这里插入图片描述

二、实验前的准备

1)虚拟机CentOS7

[root@611 ~]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 

在这里插入图片描述

2)关闭防火墙

[root@611 ~]# systemctl stop firewalld
[root@611 ~]# systemctl disable  firewalld

3)关闭selinux

[root@611 ~]# sed -ri 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 

4)准备编译环境

[root@611 ~]#  yum -y install make gcc gcc-c++ openssl openssl-devel expat-devel

三、Apache编译安装

3.1 解压Apache源码包

注意路径

[root@611 ~]# tar -xvzf httpd-2.4.38.tar.gz -C /usr/src

3.2 下载Apache依赖包及安装

安装完成后均可使用echo $?检查

3.2.1 解决Apr依赖

[root@611 ~]# wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz
[root@611 ~]# tar -xvzf apr-1.4.5.tar.gz -C /usr/src/
[root@611 ~]# cd /usr/src/apr-1.4.5/                         
[root@611 apr-1.4.5]# ./configure  --prefix=/usr/local/apr   #进行配置并指明安装路径
[root@611 apr-1.4.5]# make && make install                   #安装

3.2.2 解决Apr-util依赖

[root@611 ~]# wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz
[root@611 ~]# tar -xvzf apr-util-1.3.12.tar.gz -C /usr/src/
[root@611 ~]# cd /usr/src/apr-util-1.3.12/                   #进入解压后的路径
[root@611 apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/                                                  #进行配置并指明安装路径
[root@611 apr-util-1.3.12]# make && make install             #安装

3.2.3 解决Pcre依赖

执行./configure 可能会出现权限不够

执行如下命令:chmod +x configure

[root@611 ~]# wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip
[root@611 ~]# unzip pcre-8.10.zip                            #解压
[root@611 ~]# mv pcre-8.10 /usr/src/                         #移动文件至/usr/src
[root@611 ~]# cd /usr/src/pcre-8.10/                         #进入解压后的路径
[root@611 pcre-8.10]# ./configure --prefix=/usr/local/pcre   #进行配置并指明安装路径
[root@611 pcre-8.10]# make && make install                   #安装

3.3 安装Apache

[root@611 ~]# cd /usr/src/httpd-2.4.38/                      #进入解压后的路径
[root@611 httpd-2.4.38]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-list --enable-cgi --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre    #进行配置并指明安装路径
[root@611 httpd-2.4.38]# make && make install                #安装

上述配置命令中,各选项的含义如下

  • prefix:指定将httpd服务程序安装到哪个目录下,如/usr/local/httpd
  • enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力
  • enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护
  • enable-charset-list:启用字符集支持,以便支持使用各种字符集编码的网页
  • enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力

3.4 确认Apache安装结果

[root@611 ~]# ls /usr/local/httpd/

在这里插入图片描述

3.5 优化执行路径

在这里插入图片描述

[root@611 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin  #将bin下所有内容配置环境变量

本行意为在任何路径下都能执行启动Apache命令

3.6 为Apache修改域名

[root@611 ~]# vim /usr/local/httpd/conf/httpd.conf
...
ServerName www.pakho.com:80                                #将默认的域名修改公司域名
...

3.7 添加httpd系统服务

[root@611 ~]# vim /usr/lib/systemd/system/httpd.service #写一个centos7的方式的启动脚本
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/httpd/bin/apachectl $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RetartSec=42s
[Install]
WantedBy=graphical.target

3.8 开启Apache服务并访问主页

[root@611 ~]# systemctl start httpd

在这里插入图片描述
浏览器访问192.168.100.10提示 It works编译安装完成
在这里插入图片描述

3.9 附1:httpd命令的其他参数

[root@611 ~]# apachectl -h

在这里插入图片描述

3.10 附2:主要目录和文件

  • 服务目录:/usr/local/httpd/
  • 主配置文件:/usr/local/httpd/conf/httpd.conf
  • 网页目录:/usr/local/httpd/htdocs/
  • 服务脚本:/usr/local/httpd/bin/apachectl
  • 执行程序:/usr/local/httpd/bin/httpd
  • 访问日志: /usr/local/httpd/log/access_log
  • 错误日志: /usr/local/httpd/log/error_log

四、MySQL编译安装

4.1 安装编译环境

[root@611 ~]# rpm -qa mysql-server mysql      #检查MySQL软件安装情况
[root@611 ~]# yum -y install ncurses-devel
[root@611 ~]# tar -xvzf cmake-2.8.6.tar.gz -C /usr/src/
[root@611 ~]# cd /usr/src/cmake-2.8.6/
[root@611 cmake-2.8.6]# ./configure
[root@611 cmake-2.8.6]# gmake && gmake install

4.2 添加MySQL用户和组

[root@611 ~]# groupadd mysql                             #准备mysql组
[root@611 ~]# useradd -M -s/sbin/nologin mysql -g mysql  #创建一个用户属于mysql组不允许登陆系统

4.3 MySQL安装

[root@611 ~]# tar -xvzf mysql-5.6.36.tar.gz -C /usr/src/
[root@611 ~]# cd /usr/src/mysql-5.6.36/
[root@611 mysql-5.6.36]# pwd
/usr/src/mysql-5.6.36
[root@611 mysql-5.6.36]# cmake \\
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \\
> -DSYSCONFDIR=/etc \\
> -DDEFAULT_CHARSET=utf8 \\
> -DDEFAULT_COLLATION=utf8_general_ci \\
> -DWITH_EXTRA_CHARSETS=all
[root@611 mysql-5.6.36]# make && make install

4.4 改变数据库的属主

[root@611 ~]# chown -R mysql:mysql /usr/local/mysql  #改变数据库的属主 属组,对数据库进行权限设置

4.5 建立MySQL配置文件my.cnf

[root@611 mysql]# mv /etc/my.cnf ~  # 移动样例文件至家目录
[root@611 ~]# cp /usr/src/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf

4.6 初始化数据库

[root@611 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

4.7 为MySQL优化启动路径

[root@611 mysql]# ln -s /usr/local/mysql/bin/* /usr/local/sbin  #设置环境变量
[root@611 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#这样就可以使用systemctl start mysql来启动数据库否则得使用/usr/local/mysql/bin/mysqld
[root@611 mysql]# chmod +x /etc/init.d/mysqld
[root@611 mysql]# chkconfig --add mysqld  #添加mysql服务
[root@611 mysql]# chkconfig mysqld on     #开机自动启动mysql服务

4.8 开启数据库服务

[root@611 mysql]# systemctl start mysqld

4.9 登陆数据库服务

在这里插入图片描述

4.10 检查数据库状态及库

mysql> show databases;

在这里插入图片描述

[root@611 mysql]# systemctl status mysqld

在这里插入图片描述

五、php编译安装

5.1 源码安装php部署配置

[root@611 ~]# yum -y install zlib-devel libxml2-devel xz-devle #安装依赖包
[root@611 ~]# tar -xvzf php-5.5.38.tar.gz -C /usr/src/
[root@611 ~]# cd /usr/src/php-5.5.38/
[root@611 php-5.5.38]# ./configure --prefix=/usr/local/php5 \\ #表示php的安装
> --with-apxs2=/usr/local/httpd/bin/apxs \\                    #注入模块,将php与apache结合
> --with-mysql=/usr/local/mysql \\                             #表示 php与mysql连接,也表示一个接口
> --with-mysqli=/usr/local/mysql/bin/mysql_config \\           
> --with-config-file-path=/usr/local/php5 \\                   #这里表示php配置文件存放位置
> --enable-mbstring                                           #启用多字符集的一个模块
[root@611 php-5.5.38]# make && make install
[root@611 php-5.5.38]# cp php.ini-development /usr/local/php5/

5.2 生成配置文件

[root@611 php-5.5.38]# cd /usr/local/php5/
[root@611 php5]# mv php.ini-development php.ini

5.3 添加Apache支持

[root@611 php5]# vim /usr/local/httpd/conf/httpd.conf
#添加如下内容
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
<IfModule mime_module>
Addtype application/x-httpd-php .php 
</IfModule>

5.4 重启Apache服务

[root@611 php5]# systemctl restart httpd.service

5.5 创建测试界面

[root@611 php5]# vim /usr/local/httpd/htdocs/index.php
<?php
        phpinfo();      #查看php版本信息
?>
http://192.168.100.10/

测试完成
在这里插入图片描述

部署wordpress博客

[root@611 ~]# mysql -u root -p'WANGyuCHEN0403'
mysql> create database wordpress;
mysql> grant all privileges on wordpress.* to 'he'@'localhost' identified by '123';
mysql> flush privileges;
[root@611 ~]# cd /usr/local/httpd/htdocs/
[root@611 htdocs]# rm -rf *
[root@611 htdocs]# mv /root/wordpress-4.9.4-zh_CN.tar.gz .
[root@611 htdocs]# tar -xvzf wordpress-4.9.4-zh_CN.tar.gz
[root@611 htdocs]# rm -rf wordpress-4.9.4-zh_CN.tar.gz
[root@611 htdocs]# mv wordpress/* .
http://192.168.100.10

已成功登录
在这里插入图片描述输入我们创建的数据库用户
在这里插入图片描述根据提示创建一个php文件
在这里插入图片描述

[root@611 htdocs]# vim wp-config.php
#根据提示复制提示内容

在这里插入图片描述在这里插入图片描述
实验成功

在这里插入图片描述

以上是关于Web服务器群集——源码部署搭建LAMP平台上线wordpress博客上线的主要内容,如果未能解决你的问题,请参考以下文章

Web服务器群集——TOMCAT安装及部署jspgou上线

Web服务器集群——源码部署LAMP平台

部署LAMP平台,构建企业web服务器

web应用之LAMP源码环境部署

Linux基础——LAMP平台构建及Web论坛部署

Linux的LAMP平台搭建和用phpAdmin管理套件的部署