项目目录
- 一、LAMP是什么?
- 二、实验环境准备
- 三、编译安装HTTP服务
- 四、安装mysql数据库
- 五、安装php
- 六、http、mysql、php数据包下载地址
- 七、如果想使用shell脚本实现一键部署的请参考下面链接
一、LAMP是什么?
LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和
相关软件,能够提供动态 Web 站点服务及其应用开发环境。LAMP 是一个缩写词,具
体包括 Linux 操作系统、Apache 网站服务器、MySQL 数据库服务器、PHP(或 Perl、
Python)网页编程语言。本章将以源码编译的方式搭建 LAMP 环境,能够满足企业定
制化的需求。
在构建 LAMP 平台时,各组件的安装顺序依次为 Linux、Apache、MySQL、PHP。
其中 Apache 和 MySQL 的安装并没有严格的顺序;而 PHP 环境的安装一般放到最后,
负责沟通 Web 服务器和数据库系统以协同工作。
二、实验环境准备
1、将一下几个数据数据包导入到/opt目录下
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
mysql-boost-5.7.20.tar.gz
php-7.1.10.tar.bz2
这几个包我会在文章底部
如下图所示:
三、编译安装HTTP服务
1、安装bzip2解压工具
yum -y install bzip2-devel.x86_64
2、进入opt目录下解压数据包
cd /opt/
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
3、解决httpd包的依赖关系
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
4、安装依赖环境包
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
gcc ###C语言的编译器
gcc-c++ ###C++的编译器
make ###源代码编译(源代码转换成二进制文件)
pcre-devel ###支持正则表达式
expat-devel ###网站解析HTML文件
perl ###perl编译器
5、安装http服务的功能及模块
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
–prefix:指定将 httpd 服务程序安装到哪个目录下,如/usr/local/httpd
–enable-so:启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力。
–enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
–enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码
–enable-cgi:启用 CGI 脚本程序支持,便于扩展网站的应用访问能力。
6、编译安装
make && make install
7、优化路径
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
8、设置服务启动选项
cd /lib/systemd/system/
vim httpd.service
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target"
9、启动http服务
systemctl start httpd.service #启动http服务
systemctl enable httpd.service #开机自启动
10、查看http服务是否开启
netstat -anptu |grep httpd
如下图所示:
11、测试http服务是否能用
我的网卡IP地址如下图:
测试发现开启成功
四、安装mysql数据库
1、导入数据包在最上面我们已经提前导入
2、安装依赖环境包
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
3、为mysql创建一个不可登录的账号
useradd -s /sbin/nologin mysql
4、进入opt目录解压mysql数据包
cd /opt
tar xf mysql-boost-5.7.20.tar.gz
5、安装mysql的功能及模块
cd /opt/mysql-5.7.20/
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
6、编译安装
make && make install
由于安装mysql需要时间太长,我的电脑配置还行我就用6个核安装了这样快一点安装命令如下
make -j6 && make install
给虚拟机配置高安装非常快,大概10分钟左右安装完成
7、数据库目录进行权限调整
chown -R mysql:mysql /usr/local/mysql/
8、建立调整配置文件
vi /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
9、在终端下面输入下面内容
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
10、修改文件的属主和属组
chown mysql:mysql /etc/my.cnf
11、设置mysql的环境变量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile
12、进入mysql目录输入以下代码
cd /usr/local/mysql/
bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
13、拷贝mysqld.service文件
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
14、启动数据库
systemctl start mysqld #启动数据库
systemctl enable mysqld #开机自启动
15、测试php端口是否开启
netstat -anptu|grep 3306
16、为数据库设置一个密码
mysqladmin -u root -p password 123456 #为数据库设置密码
mysql -u root -p123456 #登录数据库
五、安装php
1、导入数据包在最上面我们已经提前导入
2、安装依赖环境包
yum -y install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
3、进入opt目录解压php数据包
cd /opt
tar xjvf php-7.1.10.tar.bz2
5、安装mysql的功能及模块
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
6、编译安装
make && make install
这里我还是用快速安装的方法,方便节省时间
make -j6 && make install
7、拷贝 php.ini-development文件
cp -f php.ini-development /usr/local/php/lib/php.ini
8、编辑配置文件
vi /usr/local/php/lib/php.ini
mysqli.default_socket = 修改为-----> mysqli.default_socket = /usr/local/mysql/mysql.sock
;date.timezone = 修改为----> date.timezone = Asia/Shanghai
9设置php环境变量
echo "AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps" >> /etc/httpd.conf
vim /etc/httpd.conf
DirectoryIndex index.html 修改为----> DirectoryIndex index.php index.html
rm -f /usr/local/httpd/htdocs/index.html
10创建php测试主页
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
/usr/local/httpd/htdocs/index.php
11、查看php端口是否开启
netstat -anptu|grep 9000
12、测试php是否创建成功
测试成功
六、http、mysql、php数据包下载地址
LAMP所需安装包百度盘下载地址
链接:https://pan.baidu.com/s/1jTaOsVxL0HXZDiJQAIOyEw
提取码:j8vu
七、如果想使用shell脚本实现一键部署的请参考下面链接