LAMP服务搭建

简介

编译安装的优点

  1. 具有较大的自由度,功能可定制
  2. 可及时获得最新的软件版本
  3. 普遍适用于大多数Linux版本,便于移植使用编译安装httpd服务器

一、LAMP

1.1 LAMP概述
  1. LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。
  2. LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MariaDB或MySQL(数据库管理系统或者数据库服务器)、PHP(或Perl、Python)网页编程j脚本语言。
  3. 虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的廉价和普遍,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的“解决方案包”(Solution Packages)。其他的方案包有苹果的WebObjects(最初是应用服务器),Java/J2EE和微软的.NET架构。
  4. “LAMP包”的脚本组件中包括了CGIweb接口,它在90年代初期变得流行。这个技术允许网页浏览器的用户在服务器上执行一个程序,并且和接受静态的内容一样接受动态的内容。程序员使用脚本语言来创建这些程序因为它们能很容易有效的操作文本流,甚至当这些文本流并非源自程序自身时也是。正是由于这个原因系统设计者经常称这些脚本语言为胶水语言。
1.2 为什么需要LAMP
  1. 手动逐个编译安装各个组件,需要输入各种命令,且有可能会中途出错。
  2. 对于想要成功搭建 LAMP 建站环境来说,可以节约大量时间和精力
1.3 LAMP组成的作用
  1. linux:提供操作系统支持/提供一个环境支持。
    作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。
  2. Apoache:提供静态页面的请求。
    作为LAMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,该服务器直接面向用户提供网站访问,发送网页,图片等文件内容。
  3. Mysoi;只会处理动态页面请求
    作为LAMP架构的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息
  4. php(PHP/Perl/Python):持久化保存数据/状态信息。
    作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。
1.4 安装顺序
  1. 各组件的安装顺序依次为Linux、Apache、MySQL、PHP
  2. 其中Apache和MySQL的安装并没有严格的顺序,PHP环境的安装一般放到最后安装,负责沟通 Web 服务器和数据库系统以协同工作。

二、安装Apoache

  • ① 安装前准备
systemctl stop firewalld  //停止防护墙
systemctl disable firewalld  //关闭不自启
setenforce 0 //临时生效可以直接用setenforce 0 

pache官网:https://www.apache.org

Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache。 编译安装apache之前先安装apr以及apr-util,apr和apr-util是一个通用的函数库,主要为上层应用提供支持,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows)。

2.1 解压依赖包并移动改名
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.29.tar.bz2
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

在这里插入图片描述

2.2安装语言环境
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

在这里插入图片描述

2.3上传httpd及配置
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

make && make install

在这里插入图片描述

优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中.

ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

./usr/local/httpd/bin/httpd
2.4 service管理
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
# chkconfig: 35 85 21  //35级别自动运行  第85个启动 第21个关闭
# description: Apache is a World Wide Web server  //这两行添加到最前面#/bin/bash下

chkconfig --add httpd //将httpd加入到系统管理器
2.5 配置监听端口和ip
vi /usr/local/httpd/conf/httpd.conf
--52--修改
Listen 192.168.226.128:80
--197--取消注释,修改
ServerName www.kgc.com:80
--221--默认首页存放路径
DocumentRoot "/usr/local/httpd/htdocs"
--255--默认首页文件名设置
DirectoryIndex index.html
2.6启动httpd和检查端口
service httpd  restart
netstat -anpt | grep 80

在这里插入图片描述
在这里插入图片描述

  • Apache安装成功!

三、部署MYSQL服务

MySQL是一个关系型数据库,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

3.1 安装编译语言环境
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake autoconf

在这里插入图片描述

3.2 编译安装
useradd -s /sbin/nolog mysql
tar zxf mysql-boost-5.7.20.tar.gz -C /opt
cd mysql-5.6.26
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

make  && make install
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   #指定安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定通信文件,连接数据库和通讯的载体
-DSYSCONFDIR=/etc \ #指定配置文件位置
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #指定存放pid文件位置
-DDEFAULT_CHARSET=utf8 \ #支持中文等字符串
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #下面三行均为存储引擎ENGINE
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/usr/local/mysql/data \ #指定数据存放位置
-DWITH_BOOST=boost \ #底层c++的运营库
-DWITH_SYSTEMD=1 #守护进程id

在这里插入图片描述

3.2 优化server管理
chown -R mysql:mysql /usr/local/mysql

vim /etc/my.cnf #删除原来的内容设置,重新设置

[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
3.3 设置环境变量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile
[root@localhost local]# cd /usr/local/mysql/
[root@localhost mysql]# ls
bin      COPYING-test  include  man         README       share          usr
COPYING  docs          lib      mysql-test  README-test  support-files
[root@localhost mysql]# cd bin/
[root@localhost bin]# ls
innochecksum                mysql_config               mysqlslap
lz4_decompress              mysql_config_editor        mysql_ssl_rsa_setup
myisamchk                   mysqld                     mysqltest
myisam_ftdump               mysqld_pre_systemd         mysqltest_embedded
myisamlog                   mysqldump                  mysql_tzinfo_to_sql
myisampack                  mysqldumpslow              mysql_upgrade
my_print_defaults           mysql_embedded             mysqlxtest
mysql                       mysqlimport                perror
mysqladmin                  mysql_install_db           replace
mysqlbinlog                 mysql_plugin               resolveip
mysqlcheck                  mysqlpump                  resolve_stack_dump
mysql_client_test           mysql_secure_installation  zlib_decompress
mysql_client_test_embedded  mysqlshow
  • 将mysql的服务脚本从软件内复制到/lib/systemd/system中
[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /lib/systemd/system/
[root@localhost system]# ls -l mysqld.service 
-rw-r--r--. 1 root root 1639 Dec 23 17:33 mysqld.service
3.4初始化数据库
  • ① 数据库的初始化
cd /usr/local/mysql/
bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

在这里插入图片描述

3.5 开启服务并检查端口
systemctl start mysqld
systemctl status mysqld
netstat -antp | grep 3306

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.6 设置密码

mysqladmin -u root -p password #先回车,在输入两次要设置的新密码

mysql -u root -p #以root身份登录,输之前的密码

登录成功

四、安装PHP

PHP官网:http://www.php.net/
前面讲到,PHP是作为Apache的一个模块存在的

4.1安装编译语言环境
yum -y install \
gd \		
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel
4.2 安装和编译
cd /opt
tar xjvf php-5.6.11.tar.bz2
cd php-5.6.11

./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring 

make && make install
4.3 优化把PHP
ln -s /usr/local/php5/bin/* /usr/local/bin/
4.4 修改Apache配置文件让Apache支持PHP
vi /etc/httpd.conf 
#添加index.php
255 <IfModule dir_module>
256     DirectoryIndex index.html index.php
257 </IfModule>
#在392行下方插入一下内容,让Apache可以支持.php的网页文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
##检查156行默认支持php5的模块是否存在

在这里插入图片描述

4.5 创建网页和启动服务
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>

#重启服务
service httpd stop 
service httpd start
restart --> stop start 

在网页测试“http://192.168.1.130/index.php”

在这里插入图片描述

示例:安装论坛

设置登录密码

给root账号设置密码
mysqladmin -u root -p password “abc123”
————》直接回车

登录刷新数据库

mysql> CREATE DATABASE bbs;  //创建一个数据库//

mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';   //把bbs数据库里面所有表的权限授予给bbsuser,并设置密码//  所有访问来源/渠道

mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';

mysql>flush privileges; //刷新数据库//
create database [database name]     ;//创建数据库 
show databases;   //查看数据库
drop database [database name]; //删除数据库

五、安装Discuz

unzip /opt/lamp/Discuz_X2.5_SC_UTF8.zip -d /opt/dis
cd /opt/dis
cp -r upload/ /usr/local/httpd/htdocs/bbs

chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data

在这里插入图片描述

论坛安装成功

六、 小结

  1. L :linux平台上
    A:静态页面处理使用了Apache
    P:动态处理;后台程序
    M:MySQL 数据库 存储PHP数据信息**
  2. Apache 怎么和PHP对接支持
    1、支持php 网页文件的格式 index.php
    2、开启识别index.php网页格式文件的支持
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
  1. PHP 如何和Apache去做对接
./configure 
--with-apxs2=/usr/local/httpd/bin/apxs 
#可以让php服务模块直接提供给apache加载使用
  1. php 如何与mysql 对接
--with-mysql=/usr/local/mysql \
对接mysql
  1. MySQL为PHP 提供了哪些支持
    1、给php动态处理的一些数据,提供了一个数据库(bbs) 和访问的用户权限@登陆方式
    2、给bbsuser 进行了提权 grant all
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值