yum安装依赖环境:
yum install
perl </安装apache编译所需的依赖包/>
cmake ncurses-devel </安装mysql5.6编译所需的依赖包/>
libxml2-devel </安装PHP编译所需的依赖包/>
解压缩源码包:
tar xf apr-1.5.2.tar.gz -C /usr/local/src </解压apr源码包到指定目录/>
tar xf apr-util-1.5.4.tar.bz2 -C /usr/local/src </解压apr-util源码包到指定目录/>
tar xf httpd-2.4.16.tar.bz2 -C /usr/local/src </解压httpd源码包到指定目录/>
tar xf pcre-8.37.tar.bz2 -C /usr/local/src </解压pcre源码包到指定目录/>
tar xf mysql-5.6.26.tar.gz -C /usr/local/src </解压mysql源码包到指定目录/>
tar xf php-5.6.13.tar.bz2 -C /usr/local/src </解压php源码包到指定目录/>
编译安装apr
cd /usr/local/apr.1.5.2
./configure --prefix=/usr/local/apr </预编译到指定目录/>
echo $? </查询预编译是否成功/>
make -j8 && make install -j8 </编译并安装,指定使用的线程数/>
echo $? </查询编译和安装是否成功/>
编译安装apr-util
cd /usr/local/apr-util-1.5.4
./configure </预编译/>
--prefix=/usr/local/apr-util </指定目标目录/>
--with-apr=/usr/local/apr </指定依赖的apr所在目录/>
echo $? </查询预编译是否成功/>
make -j8 && make install -j8 </编译并安装,指定使用的线程数/>
echo $? </查询编译和安装是否成功/>
编译安装pcre
cd /usr/local/pcre
./configure </预编译/>
--prefix=/usr/local/pcre </指定目标目录/>
echo $? </查询预编译是否成功/>
make -j8 && make install -j8 </编译并安装,指定使用的线程数/>
echo $? </查询编译和安装是否成功/>
编译安装httpd
cd httpd.2.4.16
./configure </预编译/>
--prefix=/usr/local/apache.2.4 </指定目标目录,包含版本号,方便排查故障/>
--enable-so </开启模块支持/>
--enable-rewrite </开启网站地址重写支持/>
--enable-ssl </开启SSL加密功能支持/>
--with-apr=/usr/local/apr </指定依赖包apr所在目录/>
--with-apr-util=/usr/local/apr-util </指定依赖包apr-util所在目录/>
--with-pcre=/usr/localpcre </指定依赖包pcre所在目录/>
--enable-modules=most </开启大多数的模块功能支持/>
--enable-mpm-shared=all </开启多进程处理模式,全部支持/>
--with-mpm=event </指定使用mpm模式中的event模式/>
echo $? </查询预编译是否成功/>
make -j8 && make install -j8 </编译并安装,指定使用的线程数/>
echo $? </查询编译和安装是否成功/>
配置httpd启动脚本
cd /usr/local/apache2.4/bin
cp -a apachectl /etc/init.d </复制启动脚本到开机自启动目录/>
chmod +x /etc/init.d/apachectl </添加执行权限/>
vim /etc/init.d/apachectl
#!/bin/bash
# chkconfig: 2345 63 36 </添加开机启动级别:在2345级别启动,启动序号是63,关闭序号是36,且在network进程启动后启动,在network进程关闭前关闭/>
chkconfig apachectl on </设置开机自启动/>
httpd初始优化
- 修改配置文件中的默认host名称,加快启动速度。
vim /usr/local/apache2.4/conf/httpd.conf </打开httpd主配置文件/>
/ServerName </在配置文件中找到ServerName参数/>
ServerName 127.0.0.1:80 </去掉注释符,修改为本机IP和指定端口/>
- 指定httpd服务的执行用户,提高系统安全性。
useradd -M -s /sbin/nologin apache </添加httpd服务的执行用户/>
vim /usr/local/apache2.4/conf/httpd.conf </打开httpd主配置文件/>
/User </在配置文件中找到ServerName参数/>
User apache </修改为使用apache用户执行/>
编译安装mysql-5.6
yum install -y cmake ncurses-devel </安装mysql5.6编译所需的依赖包/>
useradd -M -s /sbin/nologin mysql </添加mysql服务的执行用户/>
cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ </指定软件安装目录/>
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ </指定安全套接字/>
> -DDEFAULT_CHARSET=utf8 \ </指定默认字符集/>
> -DDEFAULT_COLLATION=utf8_general_ci \ </指定字符集校验/>
> -DWITH_EXTRA_CHARSETS=all \ </添加扩展字符集,全部/>
> -DWITH_MYISAM_STORAGE_ENGINE=1 \ </启用MYISAM数据库引擎/>
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \ </启用INNOBASE数据库引擎/>
> -DWITH_MEMORY_STORAGE_ENGINE=1 \ </启用MEMORY数据库引擎/>
> -DWITH_READLINE=1 \ </添加readline库支持/>
> -DENABLED_LOCAL_INFILE=1 \ </允许本地导入/>
> -DMYSQL_DATADIR=/usr/local/mysql/data \ </指定数据库存储目录/>
> -DMYSQL_USER=mysql </指定执行mysql服务的用户/>
echo $? </查询预编译是否成功/>
make -j8 && make install -j8 </编译并安装,指定使用的线程数/>
echo $? </查询编译和安装是否成功/>
chown -R mysql:mysql /usr/local/mysql/ </修改mysql安装目录的属主和属组为mysql/>
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld </复制启动那个脚本到自启动目录/>
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf </复制默认配置文件,并覆盖my.cnf文件/>
vim /etc/init.d/mysqld </修改启动脚本中的参数/>
basedir=/usr/local/mysql </指定软件安装目录/>
datadir=/usr/local/mysql/data </指定数据库存储目录/>
chmod +x /etc/init.d/mysqld </添加执行权限/>
chkconfig mysqld on </设置开机自启动/>
mysql初始化
/usr/local/mysql/scripts/mysql_install_db </mysql数据库初始化脚本,使用如下参数/>
--defaults_file=/etc/my.cnf </指定使用的配置文件/>
--basedir=/usr/local/mysql </指定软件安装目录/>
--datadir=/usr/local/mysql/data </指定数据库存储目录/>
--user=mysql </指定执行操作的用户名/>
ln -s /usr/local/mysql/bin/* /bin/ </建立软连接,使系统可以调用mysql/>
/etc/init.d/mysqld start </启动mysql/>
netstat -lnt |grep 3306 </确认mysql是否启动成功/>
mysql_secure_installation </mysql安全初始化脚本,根据提示设置完成/>
# 编译安装php
```shell
./configure
--prefix=/usr/local/php </指定安装目录/>
--with-mysql=/usr/local/mysql </添加mysql数据库连接/>
--with-apxs2=/usr/local/apache2.4/bin/apxs </添加apache调用模块/>
--with-config-file-path=/usr/local/php </指定配置文件目录/>
echo $? </查询预编译是否成功/>
make -j8 && make install -j8 </编译并安装,指定使用的线程数/>
echo $? </查询编译和安装是否成功/>
cp php.ini-production /usr/local/php/php.ini </复制生产环境使用的配置文件到安装目录/>
配置apache调用php
vim /usr/local/apache2.4/httpd.cnf </编辑apache配置文件/>
DrictoryIndex index.php index.html </在默认主页前添加PHP测试页/>
……
AddType application/x-httpd-php .php </添加php文件支持/>
AddType application/x-httpd-php-source .phps
:wq </保存退出/>
cd htdocs </进入默认主页目录/>
vim index.php </编写php测试页/>
<?php
phpinfo();
?>
:wq </保存退出/>
chown apache:apache -R index.php </更改属主属组/>
/etc/init.d/apachectl restart </重启apache服务/>
用浏览器访问测试页。