LAMP概述
LAMP 是一个缩写词,具体包括 Linux 操作系统、Apache 网站服务器、MySQL 数据库服务器、PHP(或 Perl、Python)网页编程语言。在Linux系统环境下,先把Apache和MySOL安装了,最后安装PHP,负责沟通Web服务器和数据库系统协调工作,这个架构能够为企业提供动态Web站点服务及其应用开发环境。
编译安装Apache
相对于直接进行yum安装来说,编译安装能根据企业需求灵活定制安装的模块功能等,具有较大的自由度,这里将详细的结束如何进行编译安装Apache。
1. 准备软件包
安装Apache所需软件:可以从官网下载
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.gz
然后将上面3个包传到opt目录下,这里用的是Xftp工具直接传的,如果使用xshell,也可以直接把包拉进去
上传完成后,可以进opt目录下看一下
全部进行解压,再进行下一步
[root@host3 opt]# tar xf apr-1.6.2.tar.gz
[root@host3 opt]# tar xf apr-util-1.6.0.tar.gz
[root@host3 opt]# tar xf httpd-2.4.29.tar.bz2
apr和apr-util是跨平台工具包,放到httpd下面,为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库,更好的支持各种编程语言的使用
[root@host3 opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@host3 opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
2. 安装依赖性关系包
首先,确保光盘已经挂载完成,yum仓库搭建完毕,因为需要用到光盘资源和yum安装
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
gcc 和 gcc-c++ 是c语言和c++的编译器
make 工具 用于将源代码文件转化成二进制可执行性文件
pcre-devel perl 支持perl语言,支持正则表达式
expat-devel 支持标签性语言,识别xml格式的文件
3. 进行configure配置
这里主要是确定安装的路径,需要启用的模块
./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 脚本程序支持,便于扩展网站的应用访问能力 |
4. make&&make install
make 将源代码转化成可执行性二进制文件
make install 安装
[root@host3 httpd-2.4.29]# make -j3 //j3是使用的核心数,可以提升CPU处理速度,不能超过最大核心数
[root@host3 httpd-2.4.29]# make install
5.优化执行路径
***************做一个配置文件的软链接,方便调用和对配置文件的修改***********
[root@host3 httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/
***************将http的bin目录下的命令进行软链接,放到环境变量的目录下,方便命令在全局的使用**********
[root@host3 httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin
6.添加 httpd 系统服务
在/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件,
用于控制由 systemd 管理或监控的 httpd 服务
[root@localhost ~]# cd /lib/systemd/system/
[root@localhost system]# vim httpd.service
[Unit]
Description=The Apache HTTP Server //描述
After=network.target //描述服务类别
[Service]
Type=forking //后台运行形式
PIDFile=/usr/local/httpd/logs/httpd.pid //PID文件位置
ExecStart= /usr/local/bin/apachectl $OPTIONS //启动服务
ExecrReload= /bin/kill -HUP $MAINPID //根据PID重载配置
[Install]
WantedBy=multi-user.target
7.httpd.conf修改配置文件
由于上面做了软链接
直接vi /etc/httpd.conf
就能进入配置文件修改 ,设置服务器域名
8.开启服务
[root@host3 system]# systemctl start httpd.service //开启服务
[root@host3 system]# systemctl enable httpd.service //开机自启
[root@host3 system]# systemctl is-enabled httpd.service //检查是否启动
enabled
此时服务已开启
9.验证
本机上
页面上
Mysql5.6
1.依赖性环境包
yum install -y ncurses-devel autoconf cmake
安装包 | 作用 |
---|---|
ncurses-devel | 提供字符终端处理库 |
autoconf | 适用各种Unix类系统的shell脚本的工具 |
cmake | 等同于configure命令 |
2.准备安装包放在/opt目录下并解压
tar xzvf mysql-5.6.26.tar.gz
3.cmake配置
[root@host3 opt]# cd mysql-5.6.26
[root@host3 mysql-5.6.26]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=all \
> -DSYSCONFIDIR=/etc \
> -DMYSQL_DATADIR=/home/mysql/ \
> -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
名称 | 解释 |
---|---|
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql | 指定工作目录 |
-DDEFAULT_CHARSET=utf8 | 默认字符集 |
-DDEFAULT_COLLATION=utf8_general_ci | 默认字符集校对规则,utf8扩展 |
-DEXTRA_CHARSETS=all | 支持所有字符集 |
-DSYSCONFIDIR=/etc | 配置文件位置 |
-DMYSQL_DATADIR=/home/mysql/ | 数据库数据目录位置 |
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock | 通讯文件,承载着通讯协议的传输 |
4.二进制编译并安装
[root@host3 mysql-5.6.26]# make -j3
[root@host3 mysql-5.6.26]# make install
5.配置文件、启动脚本和命令文件配置
在5.6的安装包内,support-files这个目录中就有配置文件模板和启动脚本,直接拷贝出来使用
[root@host3 mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf//拷贝配置文件
cp: overwrite ‘/etc/my.cnf’? yes//系统中本来就有个数据库配置文件,需要覆盖
[root@host3 mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld//拷贝启动脚本
[root@host3 mysql-5.6.26]#vi /etc/init.d/mysqld
basedir=/usr/local/mysql //工作目录
datadir=/home/mysql //数据目录
[root@host3 mysql-5.6.26]# chmod 755 /etc/init.d/mysqld //增加执行权限
[root@host3 mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld //加入开机自启动进程
[root@host3 mysql-5.6.26]# chkconfig mysqld --level 35 on //35级别没开的要手动开启
[root@host3 mysql-5.6.26]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile //将命令路径加入环境变量
[root@host3 mysql-5.6.26]# source /etc/profile //生效
[root@host3 mysql-5.6.26]# echo $PATH //查看环境变量
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
6.添加程序用户
[root@host3 mysql-5.6.26]# useradd -s /sbin/nologin mysql //增加程序用户musql
[root@host3 mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/ //改变属主属组让mysql程序用户能够管理mysql这个目录
7.初始化设置
[root@host3 mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \
> --user=mysql \ //用户
> --ldata=/var/lib/mysql \ //函数库目录
> --basedir=/usr/local/mysql \ //工作目录
> --datadir=/home/mysql //数据存放位置
8.开启服务
[root@host3 mysql-5.6.26]# service mysqld start
Starting MySQL. SUCCESS!
9.验证
[root@host3 mysql-5.6.26]# netstat -anpt | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 66300/mysqld
[root@host3 mysql-5.6.26]# mysqladmin -u root -p password "abc123" //开始密码为空,直接回车,此条将密码设置为abc123
Enter password:
Warning: Using a password on the command line interface can be insecure.
[root@host3 mysql-5.6.26]# mysql -uroot -p //密码已经变为abc123
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>
PHP编译安装
1.依赖性关系安装
yum -y install \
gd \
libpng \
libpng-devel \
pcre \
pcre-devel \
libxml2-devel \
libjpeg-devel
名称 | 解释 |
---|---|
gd | 处理图片和图像 |
libpng libpng-devel | 处理截图 |
pcre pcre-devel | 支持正则表达式 |
libxml2-devel | 支持xml文件格式,第2版本 |
libjpeg-devel | 处理jpeg |
2.准备安装包到/opt目录下并解压
[root@host3 opt]# tar xjvf php-5.6.11.tar.bz2
3.configure配置
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
名称 | 解释 |
---|---|
–prefix=/usr/local/php5 | 工作目录 |
–with-gd | gd库 |
–with-zlib | 提供数据压缩的函数库 |
–with-apxs2=/usr/local/httpd/bin/apxs | 关联apache |
–with-mysql=/usr/local/mysql | 关联mysql |
–with-config-file-path=/usr/local/php5 | 配置文件路径 |
–enable-mbstring | 处理文本,多字节字符串 |
4.二进制编译及安装
make && make install
5.启动脚本、命令脚本配置
[root@host3 php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini
[root@host3 php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/
[root@host3 php-5.6.11]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/
6.配置文件
vi /etc/httpd.conf
vi /etc/httpd.conf //在合适位置新增
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
7.测试页
vi /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>