部署LAMP平台

目录

引言

一、LAMP平台的简介与概述

1、LAMP平台的简介

2、构建LAMP平台的顺序

3、编译安装的优点

4、各组件的主要作用

二、安装Apache服务

1、关闭防火墙和关闭系统安全机制

2、放入安装文件,并解压文件

3、将解压的APR目录移动到httpd目录下并改名

4、安装所需要的编译器,指定到httpd服务程序安装路径及启动多项功能,并进行编译安装

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

6、添加httpd服务系统,用于service服务管理

7、修改httpd服务配置文件

8、检验语法,以及验证

三、安装MySQL服务

1、放入安装文件,并解压文件

2、安装环境依赖包

3、创建程序用户管理

4、配置软件模块,并进行编译安装

5、更改mysql安装目录和配置文件的属主属组

6、修改配置文件

7、设置路径环境变量

8、初始化数据库

9、添加mysqld系统服务

10、给root账号设置密码

11、授权远程登录

四、安装PHP解析环境

1、放入安装文件,并解压文件

2、安装环境依赖包(安装GD库和GD库关联程序,用来处理和生成图片)

3、配置软件模块,并进行编译安装

4、复制模板文件,并进行修改

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

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

7、创建、编辑php页面文件

五、Discuz安装

1、创建一个数据库

2、放入安装文件,解压论坛压缩包

3、上传站点更新包

4、切换论坛目录

5、更改论坛目录属主

6、进行编辑

总结


引言

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境。在构建LAMP平台时,各组件的安装顺序依次为Linux,Apache,MySQL,PHP。

一、LAMP平台的简介与概述

1、LAMP平台的简介

LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言。

2、构建LAMP平台的顺序

其中Apache和MySQL的安装并没有严格的顺序要求,而PHP环境的安装一般放到最后,负责沟通web服务器和数据库系统以协同工作。

3、编译安装的优点

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

4、各组件的主要作用

Linux(平台):作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。

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

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

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

二、安装Apache服务

1、关闭防火墙和关闭系统安全机制

[root@lamp ~]# systemctl stop firewalld.service
[root@lamp ~]# systemctl disable firewalld.service
[root@lamp ~]# setenforce 0

2、放入安装文件,并解压文件

[root@lamp ~]# cd /usr/local/
[root@lamp local]# rz -E     #插入软件包
[root@lamp local]# rz -E     #插入软件包
[root@lamp local]# rz -E     #插入软件包
[root@lamp local]# ls
apr-1.6.2.tar.gz       apr-util-1.6.0.tar.gz      httpd-2.4.29.tar.bz2
[root@lamp local]# tar zxvf apr-1.6.2.tar.gz 
[root@lamp local]# tar zxvf apr-util-1.6.0.tar.gz
[root@lamp local]# tar xf httpd-2.4.29.tar.bz2

3、将解压的APR目录移动到httpd目录下并改名

[root@lamp local]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@lamp local]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

4、安装所需要的编译器,指定到httpd服务程序安装路径及启动多项功能,并进行编译安装

[root@lamp local]# cd httpd-2.4.29/
[root@lamp httpd-2.4.29]# yum -y install \
gcc \                                #C语言的编译器
gcc-c++ \                       #C++的编译器
make \                             #源代码编译器(源代码转换成二进制文件)
pcre \                              #pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel \                   #perl的接口开发包
expat-devel \                 #用于支持网站解析HTML、XML文件
perl                                  #perl语言编译器
[root@lamp httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \                        #指定 httpd 服务程序的安装路径
--enable-so \                                                #启用动态加载核心模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \                                       #启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \                               #启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi                                                 #启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力
[root@lamp httpd-2.4.29]# make && make install

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

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

6、添加httpd服务系统,用于service服务管理

[root@lamp httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@lamp httpd-2.4.29]# vim /etc/init.d/httpd 
# chkconfig: 35 85 21     #35级别自动运行  第85个启动 第21个关闭
# description: Apache is a World Wide Web server
[root@lamp httpd-2.4.29]# chkconfig --add httpd
[root@lamp httpd-2.4.29]# systemctl start httpd

7、修改httpd服务配置文件

[root@lamp httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf 
Listen 192.168.32.128:80     #52行
ServerName www.qaz.com:80     #197行

8、检验语法,以及验证

[root@lamp httpd-2.4.29]# httpd -t
Syntax OK
[root@lamp ~]# cat /usr/local/httpd/htdocs/index.html 
<html><body><h1>It works!</h1></body></html>
[root@lamp httpd-2.4.29]# service httpd restart
[root@lamp httpd-2.4.29]# netstat -anpt | grep 80
tcp        0      0 192.168.32.128:80       0.0.0.0:*               LISTEN      112698/httpd

三、安装MySQL服务

1、放入安装文件,并解压文件

[root@lamp ~]# cd /opt
[root@lamp opt]# rz -E     #插入软件包
[root@lamp opt]# rz -E     #插入软件包
[root@lamp optl]# ls
mysql-5.7.17.tar.gz       boost_1_59_0.tar.gz
[root@lamp opt]# tar zxvf mysql-5.7.17.tar.gz
[root@lamp opt]# tar zxvf boost_1_59_0.tar.gz 
[root@lamp opt]# mv boost_1_59_0 /usr/local/boost

2、安装环境依赖包

[root@lamp opt]# yum -y install \
gcc \                                            #C语言的编译器
gcc-c++ \                                   #C++的编译器
ncurses \	                                   #字符终端下图形互动功能的动态库
ncurses-devel \                         #ncurses开发包
bison \                                        #语法分析器
cmake                                         #mysql需要用cmake编译安装

3、创建程序用户管理

[root@lamp opt]# useradd -s /sbin/nologin mysql

4、配置软件模块,并进行编译安装

[root@lamp opt]# cd /opt/mysql-5.7.17/
[root@lamp mysql-5.7.17]# cd /opt/mysql-5.7.17/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \                        #指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \          #指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \                                                                  #指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \                                  #指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8  \                                                     #指定默认使用的字符集编码,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \                              #指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS=all \                                                #指定支持其他字符集编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \                             #安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \                                #安装ARCHIVE存储引擎 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \                          #安装BLACKHOLE存储引擎 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \                       #安装FEDERATED存储引擎 
-DMYSQL_DATADIR=/usr/local/mysql/data \                          #指定数据库文件的存储路径
-DWITH_BOOST=/usr/local/boost \                                           #指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
-DWITH_SYSTEMD=1                                                                    #生成便于systemctl管理的文件
存储引擎选项:
MYISAM,MERGE,MEMORY和cSv引擎是默认编译到服务器中,并不需要明确地安装。静态编译一个存储引擎到服务器,使用-DWITH engine STORAGE ENGINE= 1
可用的存储引擎值有:ARCHIVE,BLACKHOLE,EXAMPLE,FBDERATBD,IMNOBASB(InnoDB),PARTTTON(partitioning support),和PERFSCHEMA(Performance schema)
[root@lamp mysql-5.7.17]# make -j 6 && make install
注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

5、更改mysql安装目录和配置文件的属主属组

[root@lamp mysql-5.7.17]# chown -R mysql:mysql /usr/local/mysql/
[root@lamp mysql-5.7.17]# chown mysql:mysql /etc/my.cnf

6、修改配置文件

[root@lamp mysql-5.7.17]# vim /etc/my.cnf          #删除原配置项,再重新添加下面内容
[client]                                                                             #客户端设置
port = 3306                                                                    #指定端口
default-character-set=utf8                                          #设置服务器字符集编码格式为utf8
socket=/usr/local/mysql/mysql.sock                         #指定数据库连接文件

[mysql]                                                                            #服务全局设置
port = 3306                                                                   #指定端口
default-character-set=utf8                                          #设置服务器字符集编码格式为utf8
socket=/usr/local/mysql/mysql.sock                         #指定数据库连接文件
auto-rehash

[mysqld]                                                                           #服务全局设置
user = mysql                                                                    #设置管理用户
basedir=/usr/local/mysql                                              #指定数据库的安装目录
datadir=/usr/local/mysql/data                                     #指定数据库文件的存储路径
port = 3306                                                                      #指定端口
character-set-server=utf8                                             #设置服务器字符集编码格式为utf8
pid-file = /usr/local/mysql/mysqld.pid                       #指定pid 进程文件路径
socket=/usr/local/mysql/mysql.sock                           #指定数据库连接文件
bind-address = 0.0.0.0                                                    #设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
skip-name-resolve                                                           #禁用DNS解析
max_connections=2048                                                  #设置mysql的最大连接数
default-storage-engine=INNODB                                  #指定默认存储引擎
max_allowed_packet=16M                                             #设置数据库接收的数据包大小的最大值
server-id = 1                                                                       #指定服务ID号
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

①NO_ENGINE_SUBSTITUTION
如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常
②STRICT_TRANS_TABLES
在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制
③NO_AUTO_CREATE_USER
禁正GRANT创建密码为空的用户
④NO_AUTO_VALUE_ON_ZERO
mysql中的自增长列可以从O开始。默认情况下自增长列是从1开始的,如果你插入值为0的数据会报错
⑤NO_ZERO_IN_DATE
不允许日期和月份为零
⑥NO_ZERO_DATE
mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告
⑦ERROR_FOR_DIVISION_BY_ZERO
在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。默认情况下数据被零除时MysQL返回NULL
⑧PIPES_As_CONCAT
将"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似
⑨ANSI_QUOTES
启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

7、设置路径环境变量

[root@lamp mysql-5.7.17]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile      #设置路径环境变量,追加道全局环境变量中
[root@lamp mysql-5.7.17]# source /etc/profile     #刷新全局环境变量

8、初始化数据库

[root@lamp mysql-5.7.17]# cd /usr/local/mysql/bin/
[root@lamp bin]# ./mysqld \
--initialize-insecure \                             #生成初始化密码为空
--user=mysql \                                       #指定管理用户
--basedir=/usr/local/mysql \               #指定数据库的安装目录
--datadir=/usr/local/mysql/data         #指定数据库文件的存储路径

9、添加mysqld系统服务

[root@lamp bin]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@lamp bin]# systemctl daemon-reload      #刷新识别
[root@lamp bin]# systemctl start mysqld.service      #开启服务
[root@lamp bin]# systemctl enable mysqld          #开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
[root@lamp bin]# netstat -anpt | grep 3306     #查看端口
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      32443/mysqld

10、给root账号设置密码

[root@lamp bin]# mysqladmin -u root -p password "123456"

11、授权远程登录

[root@lamp bin]# mysql -u root -p
mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123';          #授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限
mysql> show databases;           #查看当前已有的数据库
mysql> exit

四、安装PHP解析环境

1、放入安装文件,并解压文件

[root@lamp bin]# cd /opt
[root@lamp opt]# rz -E
[root@lamp opt]# tar jxvf php-7.1.10.tar.bz2

2、安装环境依赖包(安装GD库和GD库关联程序,用来处理和生成图片)

[root@lamp opt]# yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

3、配置软件模块,并进行编译安装

[root@lamp php-7.1.10]# ./configure \
--prefix=/usr/local/php7 \                                                        #指定将 PHP 程序的安装路径
--with-apxs2=/usr/local/httpd/bin/apxs \                             #指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock=/usr/local/mysql/mysql.sock \	             #指定mysql 数据库连接文件的存储路径
--with-config-file-path=/usr/local/php7	                               #设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli \                   #添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-zlib \                        #支持zlib功能,提供数据压缩
--with-curl \                       #开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
--with-gd \                         #激活gd 库的支持
--with-jpeg-dir \               #激活jpeg 的支持
--with-png-dir \                #激活png 的支持
--with-freetype-dir \
--with-openssl \
--enable-mbstring \	        #启用多字节字符串功能,以便支持中文等代码
--enable-xml \                  #开启扩展性标记语言模块
--enable-session \            #会话
--enable-ftp \                    #文本传输协议
--enable-pdo \                  #函数库
--enable-tokenizer \         #令牌解释器
--enable-zip                       #ZIP压缩格式
[root@lamp php-7.1.10]# make && make install

4、复制模板文件,并进行修改

[root@lamp php-7.1.10]# cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini
[root@lamp php-7.1.10]# vim /usr/local/php7/php.ini
date.timezone = Asia/Shanghai     #939行,取消注释,修改
mysqli.default_socket = /usr/local/mysql/mysql.sock     #1170行,修改

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

[root@lamp php-7.1.10]# ln -s /usr/local/php7/bin/* /usr/local/bin/

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

[root@lamp php-7.1.10]# vi /etc/httpd.conf
#检查156行默认支持php7的模块是否存在
LoadModule php7_module   modules/libphp7.so
#256行,修改
DirectoryIndex index.html index.php
#在393行下方插入一下内容,让Apache可以支持.php的网页文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

7、创建、编辑php页面文件

[root@lamp php-7.1.10]# rm -rf /usr/local/httpd/htdocs/index.html
[root@lamp php-7.1.10]# vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
[root@lamp php-7.1.10]# systemctl restart httpd.service

五、Discuz安装

1、创建一个数据库

[root@lamp ~]# mysql -u root -p
mysql> CREATE DATABASE bbs;
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';             #把bbs数据库里面所有表的权限授予给bbsuser,并设置密码
mysql> flush privileges;           #刷新数据库
mysql> exit

grant:表示数据库中对于可使用的权限范围(包括操作权限:增、删、改、查+可以管理的数据库对象)进行提升权限
all:指所有操作权限
on bbs.* :指可以管理的"数据库.数据表”的范围
to 'bbsuser'@'%' :to 赋予的"用户对象@来源”,登陆数据库的用户@这个用户的来源限制
identified by 'admin123'; :该用户交互方式是密码,同时密码指定为admin123

2、放入安装文件,解压论坛压缩包

[root@lamp ~]# cd /opt
[root@lamp opt]# rz -E
[root@lamp opt]# unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis

3、上传站点更新包

[root@lamp opt]# cd /opt/dis/dir_SC_UTF8/
[root@lamp dir_SC_UTF8]# cp -r upload/ /usr/local/httpd/htdocs/bbs

4、切换论坛目录

[root@lamp dir_SC_UTF8]# cd /usr/local/httpd/htdocs/bbs

5、更改论坛目录属主

[root@lamp bbs]# chown -R daemon ./config
[root@lamp bbs]# chown -R daemon ./data
[root@lamp bbs]# chown -R daemon ./uc_client
[root@lamp bbs]# chown -R daemon ./uc_server/data
[root@lamp bbs]# cd /usr/local/httpd/htdocs/bbs/install

6、进行编辑

[root@lamp install]# vim index.php
#将
@set_magic_quotes_runtime(0); 
#替代成 
@ini_set("magic_quotes_runtime",0);

总结

1、LAMP架构组件包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。

2、HTTPD服务器的主配置文件是httpd.conf,通过Include配置项可以加在其他配置文件。

3、HTTPD服务支持三种类型的虚拟Web主机,分别是基于域名、基于IP地址、基于端口虚拟的主机。

4、安装PHP软件包时,通过 --with-apxs2、--with-mysql配置选项分别指定httpd、mysql的相关路径。

5、要使httpd服务支持PHP网页,应编辑httpd.conf文件,确认加载libphp5.so模块,并添加“.php”类型文件的识别。

6、phpMyAdmin是一个使用PHP语言编写,用来管理MySQL数据库的Web应用系统。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值