LAMP配置与应用

目录

LAMP概述及工作过程    

                LAMP平台概述

                各组件的主要作用

                构建LAMP平台顺序

                工作过程

安装

                编译安装的优点

                安装Apache----下面两个插件是httpd2.4以后的版本所需要

                安装MySQL

                安装PHP


LAMP概述及工作过程    

                LAMP平台概述

    LAMP环境指的是在Linux操作系统中分别安装APache网页服务器、Mysql数据库服务器和PHP开发服务器,以及一些对应的扩展软件,AMP也支持win操作系统(SCCM域升级版)

        LAMP架构是目前成熟的企业网络应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态web站点服务及其应用开发环境

                各组件的主要作用

        前台Apache:作为LAMP架构前端,是一款功能强大、稳定性好的web服务程序,该服务器直接面向用户,提供网络服务访问,发送网页、图片等内容

        后台Mysql:作为LAMP架构的后端,是一款流行的开源类型数据库,在企业网络、业务系统应用中,各种账户信息、产品信息、客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过sql语句来查询,更改这些信息

        中间连接PHP/Perl/python:作为三种开发动态的网页编程语言,负责解释动态网页文件,负责沟通web服务器和数据库系统互协同工作,并提供web应用程序的开发运行环境,其中PHP是一种广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于web应用开发

                构建LAMP平台顺序

        在搭建LAMP的安装顺序一般是Linux APache MySQL、PHP,一般PHP放在最后,负责沟通web服务器和数据库系统以协同工作

                工作过程

LAMP配置与应用_第1张图片

工作过程

1、当客户端请求的是静态资源时,web服务器会直接把静态资源返回客户端

2、当客户端请求的是动态资源时。httpd的PHP模块会进行相应的动态资源运算,如果此过程还需要数据库作为运算参数时,PHP会连接MySQL取得数据,然后进行运算,运算的结果转为静态资源由web服务器返回到客户端

apache主要实现如下功能

1、处理HTTP的请求,构建响应报文等自身服务

2、配置让apache支持PHP程序的响应(通过PHP模块或fpm)

3、配置Apache具体处理PHP程序的方法,如通过反向代理将PHP程序交给fcgi处理。

MySQL主要实现如下功能:

1、提供PHP程序对数据的存储

2、提供PHP程序对数据的读取(通常情况下从性能的角度考虑,尽量实现数据库的读写分离)

PHP主要实现如下功能

1、提供apache的访问接口,即CGI或Fast CGI(FPM)

2、提供PHP程序的解释器

3、提供MySQL数据库的连接函数的基本环境

安装

                编译安装的优点

1、具有较大的自由度,功能可定制
2、可及时获得最新的软件版本
3、普遍适用于大多数Linux版本,便于一直使用
                

                安装Apache----下面两个插件是httpd2.4以后的版本所需要

apache下载官方地址

Download - The Apache HTTP Server Projecticon-default.png?t=LA46http://httpd.apache.org/download.cgi

 解压并移动到httpd下面srclib目录下改名

[root@localhost opt]#tar -zxf apr-1.6.2.tar.gz 
[root@localhost opt]#tar -zxf apr-util-1.6.0.tar.gz
[root@localhost opt]#tar -jxf httpd-2.4.29.tar.bz2 
[root@localhost opt]#ls
apr-1.6.2         apr-util-1.6.0         httpd-2.4.29          Python-3.8.11      rh
apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  Python-3.8.11.tgz
[root@localhost opt]#mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]#mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

 安装其他插件

[root@localhost srclib]#yum -y install \
> gcc \                                  #C语言的编译器
> gcc-c++ \                              #C++的编译器
> make \                                 #源代码编译器(源代码转换成二进制文件)
> pcre-devel \                           #perl的接口开发包
> expat-devel \                           #用于支持网站解析HTML、XML文件
> perl                                    #perl语言编译器

上传httpd

cd到httpd

[root@localhost httpd-2.4.29]#./configure \
> --prefix=/usr/local/httpd \                #指定 httpd 服务程序的安装路径
> --enable-so \                   #启用动态加载核心模块支持,使 httpd 具备进一步扩展功能的能力
> --enable-rewrite \            #启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
> --enable-charset-lite \        #启动字符集支持,以便支持使用各种字符集编码的页面
> --enable-cgi         #启用CGI(通用网关接口)脚本程序支持,便于增强网站的外部扩展应用访问能力

LAMP配置与应用_第2张图片

 编译并安装

[root@localhost httpd-2.4.29]make && make install -j6 
                                                    #6倍数

LAMP配置与应用_第3张图片

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

[root@localhost httpd-2.4.29]#ln -s /usr/local/httpd/conf/httpd.conf /etc/
[root@localhost httpd-2.4.29]#ln -s /usr/local/httpd/bin/* /usr/local/bin/

#便于service管理 

[root@localhost httpd-2.4.29]#cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

修改配置文件 

[root@localhost httpd-2.4.29]#vim /etc/init.d/httpd

LAMP配置与应用_第4张图片

#将httpd加入到系统管理器

 [root@localhost httpd-2.4.29]#chkconfig --add httpd

继续修改配置文件,修改52行和200行

[root@localhost httpd-2.4.29]#vim /usr/local/httpd/conf/httpd.conf

LAMP配置与应用_第5张图片

 LAMP配置与应用_第6张图片

 

检查语法

[root@localhost httpd-2.4.29]#httpd -t
Syntax OK

看一下网页内容是什么 

[root@localhost httpd-2.4.29]#cat /usr/local/httpd/htdocs/index.html

It works!

 开启服务

[root@localhost httpd-2.4.29]#service httpd start

过滤端口

[root@localhost httpd-2.4.29]#netstat -anpt | grep 80
tcp        0      0 192.168.37.102:80       0.0.0.0:*               LISTEN      16682/httpd  

在网址输入你的IP地址

LAMP配置与应用_第7张图片

 做到这一步证明你的apache服务安装成功了!

                安装MySQL

选择Linux安装

MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/解压压缩包

[root@localhost opt]#ls
apr-1.6.2.tar.gz       httpd-2.4.29          mysql-5.6.26.tar.gz  Python-3.8.11.tgz
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  Python-3.8.11        rh
[root@localhost opt]#tar -zxf mysql-5.6.26.tar.gz 
[root@localhost opt]#ls
apr-1.6.2.tar.gz       httpd-2.4.29          mysql-5.6.26         Python-3.8.11      rh
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  mysql-5.6.26.tar.gz  Python-3.8.11.tgz

安装插件gcc gcc++已经安装过了就不需要

[root@localhost opt]#yum install -y ncurses-devel autoconf cmake
                                    #ncurses开发包            #mysql需要用cmake编译安装
				
autoconf    #是一个用于生成可以自动配置软件源代码包以适应多种unix类系统的shell脚本工具。

LAMP配置与应用_第8张图片

 安装数据库的规则,字符集

cmake  \
>-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \	
>-DDEFAULT_CHARSET=utf8 \						#指定默认使用的字符集编码,如 utf-8
>-DDEFAULT_COLLATION=utf8_general_ci \			#指定默认使用的字符集校对规则
>-DEXTRA_CHARSETS=all \							#指定支持其他字符集编码
>-DSYSCONFIDIR=/etc \							#/etc/mysql --->系统中有一个默认的配置/etc/my.cnf
>-DMYSQL_DATADIR=/home/mysql/ \					#数据文件
>-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock		#指定连接数据库的通讯文件(启动数据库的时候会生成)

LAMP配置与应用_第9张图片

 编译安装,时间看电脑配置

root@localhost mysql-5.6.26]#make  && make install -j6

LAMP配置与应用_第10张图片

 复制库文件覆盖/etc/my.cnf

[root@localhost mysql-5.6.26]#cp support-files/my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y
[root@localhost mysql-5.6.26]#cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.6.26]#chmod 755 /etc/init.d/mysqld    #给权限   
[root@localhost mysql-5.6.26]#chkconfig --add /etc/init.d/mysqld 将MySQL加到系统管理
[root@localhost mysql-5.6.26]#chkconfig  mysqld --level 35 on    3和5开启
[root@localhost mysql-5.6.26]#systemctl enbale mysqld 永久开启MySQL

#创建普通用户管理mysql

[root@localhost mysql-5.6.26]#useradd -s /sbin/nologin mysql
[root@localhost mysql-5.6.26]#chown -R mysql:mysql /usr/local/mysql/
##更改管理主/组
[root@localhost mysql-5.6.26]#chown mysql:mysql /etc/my.cnf

#设置环境变量,申明/宣告mysql命令便于系统识别

[root@localhost mysql-5.6.26]#echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.6.26]#source /etc/profile

#初始化数据库

[root@localhost mysql-5.6.26]#/usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \
> --ldata=/var/lib/mysql \
> --basedir=/usr/local/mysql \
> --datadir=/home/mysql

修改配置文件,指定位置

[root@localhost mysql-5.6.26]#vim /etc/init.d/mysqld

LAMP配置与应用_第11张图片

 过滤出数据库端口

[root@localhost mysql-5.6.26]#service mysqld start 
Starting MySQL. SUCCESS! 
[root@localhost mysql-5.6.26]#netstat -anpt | grep 3306
tcp6       0      0 :::3306 

给root设置密码,起初没有密码直接回车即可

[root@localhost mysql-5.6.26]#mysqladmin -u root -p password "123123"
Enter password: 
Warning: Using a password on the command line interface can be insecure.
[root@localhost mysql-5.6.26]#mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.26 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

数据库安装成功了!!!

                安装PHP

PHP官方下载地址

PHP: Downloadshttps://www.php.net/downloads.php解压

[root@localhost opt]#tar -jxf php-5.6.11.tar.bz2 
[root@localhost opt]#ls
apr-1.6.2.tar.gz       httpd-2.4.29          mysql-5.6.26         php-5.6.11          Python-3.8.11      rh
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2  mysql-5.6.26.tar.gz  php-5.6.11.tar.bz2  Python-3.8.11.tgz

安装PHP所需要的动态库

[root@localhost opt]#yum -y install gd libpng libpng-devel libxml2-devel libjpeg-devel
               #图像化处理的库  #png格式图片的库 #解析xml标记语言的库	#jpeg格式图片的库


执行php的脚本

[root@localhost opt]#cd php-5.6.11
[root@localhost php-5.6.11]#./configure \
--prefix=/usr/local/php5 \
--with-gd \											#激活gd 库的支持
--with-zlib \										#支持zlib功能,提供数据压缩功能的函式库
--with-apxs2=/usr/local/httpd/bin/apxs \			#指定httpd服务提供的apxs模块支持程序的文件位置
#用于指定Apache可以加载/识别对应的功能模块,此处可以让php服务模块直接提供给apache加载使用
--with-mysql=/usr/local/mysql \						#关联数据库					
--with-config-file-path=/usr/local/php5 \			#指定配置文件
--enable-mbstring 									#启用多字节字符串功能,以便支持中文等代码

编译并安装,耐心等待

[root@localhost php-5.6.11]#make && make install -j6

优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别

[root@localhost php-5.6.11]#ln -s /usr/local/php5/bin/* /usr/local/bin/

修改Apache配置文件让Apache支持PHP

[root@localhost php-5.6.11]#vim /etc/httpd.conf

LAMP配置与应用_第12张图片

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps 

LAMP配置与应用_第13张图片 

 创建、编辑php页面文件

 

[root@localhost php-5.6.11]#vim /usr/local/httpd/htdocs/index.php


重启服务

[root@localhost php-5.6.11]#service httpd stop 
[root@localhost php-5.6.11]#service httpd start 

在网页测试输入你的IP地址index.php

LAMP配置与应用_第14张图片

                 安装论坛

[root@localhost mysql-5.6.26]#mysql -u root -p
mysql> CREATE DATABASE bbs;
Query OK, 1 row affected (0.01 sec)

mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
#把bbs数据库里面所有表的权限授予给bbsuser,并设置密码//  所有访问来源
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges; //刷新数据库
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| bbs                |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

mysql> exit

解压论坛包 

[root@localhost opt]#unzip /opt/lamp/Discuz_X2.5_SC_UTF8.zip -d /opt/dis

[root@localhost opt]#cd /opt/dis

[root@localhost dis]#cp -r upload/ /usr/local/httpd/htdocs/bbs

[root@localhost dis]#cd /usr/local/httpd/htdocs/bbs

[root@localhost dis]#chown -R daemon ./config
[root@localhost dis]#chown -R daemon ./data
[root@localhost dis]#chown -R daemon ./uc_client
[root@localhost dis]#chown -R daemon ./uc_server/data

LAMP配置与应用_第15张图片 

LAMP配置与应用_第16张图片 

LAMP配置与应用_第17张图片 

LAMP配置与应用_第18张图片 

LAMP配置与应用_第19张图片 

 这样整个lamp所需的环境已经全部安装好了!!!

你可能感兴趣的:(apache,php,开发语言)