CentOS 6 LAMP搭建,编译安装
2016-12-27 11:14
393 查看
搭建准备工作:
CentOS 6.6
服务器IP:192.168.230.202
软件包位置/tmp/httpd
wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.25.tar.gz ##httpd2.4.25
wget https://www.openssl.org/source/openssl-1.0.1u.tar.gz ##openssl
https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz ##apr
https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz ##apr-util
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/dee4cf915af476a9ade395f29be69bed.png)
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo ##centos6 yum源
包组:yum groupinstall "Compatibility libraries" "Development tools"
软件包 yum install gcc
软件包 yum install pcre-devel pcre -y
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
真佩服我们做了这么多准备,老天不会欺负这么勤快的孩子的
开始上主菜了
1、安装apr、apr-util
2、安装openssl
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/7cc5b1dba0a089967346e2f45cfec592.png)
三、安装httpd2.4
![](https://oscdn.geek-share.com/Uploads/Images/Content/201812/f95c32c8725c574ff2a48461e102da11.gif)
杂项
(1)去httpd的安装目录看一下结果。 一切OK的话就可以下面的了。
(2 ) 把httpd的头文件符号链接到/usr/include #不是必须的,怕以后有软件会用。
[root@localhost httpd-2.4.25]# ln -s /usr/local/httpd2.4/include/ /usr/include/httpd2.4
( 3 ) 新建/etc/profile.d/httpd2.4.sh文件,添加进PATH变量。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/ec85ee74243027e732101ba1496deb63.png)
( 4 )编辑/etc/httpd2.4/httpd.conf
[root@localhost httpd2.4]# grep rex /etc/httpd2.4/httpd.conf
ServerName www.rex.com:80
##ServerName 把原本的#ServerName www.example.com:80改成自己想要的域名并删掉#
[root@localhost httpd2.4]# /usr/local/httpd2.4/bin/apachectl start
[root@localhost httpd2.4]# curl 127.0.0.1
<html><body><h1>It works!</h1></body></html>
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
It works!
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
(5) 来个服务脚本,可以用service来启动关闭。
为了避免麻烦,直接把原来的httpd的服务脚本复制一下,改吧改吧。
[root@localhost httpd2.4]# cp /etc/init.d/httpd /etc/init.d/httpd24
[root@localhost httpd2.4]# vim /etc/init.d/httpd24
##表示区别,我们服务名叫httpd24
41行开始
把原来的目录改成我们编译安装后的目录
pid待会要去创建
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/295ae25b1ada38c1332214aecede8ecc.png)
[root@localhost httpd2.4]# mkdir /var/run/httpd2.4
[root@localhost httpd2.4]# chmod 700 /var/run/httpd2.4
创建进程文件夹并修改权限
[root@localhost httpd2.4]# vim /etc/httpd2.4/httpd.conf
32行里面加入:
pidFile "/var/run/httpd2.4/httpd2.4.pid"
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/781a7b8d3f7047aae384575127a201b3.png)
图上已经能这能正常使用service XXX start了
并且有对应的pid号
最后,我们再编译个开机启动
[root@localhost httpd2.4]# chkconfig --add httpd24
[root@localhost httpd2.4]# chkconfig httpd24 on
##httpd24开机自启动
[root@localhost httpd2.4]# chkconfig --list httpd24
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Mariadb
wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.1.20/source/mariadb-10.1.20.tar.gz
官网下载Mariadb包,59M
yum -y install gcc gcc-c++ make cmake ncurses ncurses-devel libxml2 libxml2-devel openssl-devel bison bison-devel
yum安装需要的包文件
不然待会安装会报错
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/ca9023f7baeff075f02d8372ff226488.png)
解压,并进入目录
然后我们执行以下指令对源码包进行预处理:cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci
配置中指定了安装路径、数据库路径、配置文件路径等参数。等配置结束后可以使用 echo $? 查看返回值确定是否配置成功。我在编译时便遇到了一个名为 ncurses-devel 的依赖包没有安装,具体信息请阅读错误提示。等我用yum源安装好后发现无法继续cmake了,只好删除后重新解压源码包才配置成功的。好了 一切没问题了就开始 make && make install 吧!# make && make install
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/c375275d61fc0eb5de8ce5ef3def440c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/e135bd36b0846d373f9b6275bcfbf681.png)
由于源码包比较大,解压后我统计了下,竟然291M,天啊这可得慢慢等待了。我花费了一个多小时才编译完成的,也是够慢了。编译安装完成后会生成 /usr/local/mysql 这样一个文件夹,如果选用了直接解压二进制包,就把它解压到 /usr/local 中。我们进入这个文件夹中看看bin 这个目录存放着mysql的服务器和客户机程序,我们应该添加到环境变量data 这个文件夹就是数据库目录include 这里存放着mysql开发用的函数头文件,可以被其他源码包编译时依赖lib Mysql运行需要的运行库scripts Mysql初始化数据库的脚本,更改数据库目录后也需要进行初始化man Mysql是使用手册,需要让man命令识别这个路径才能使用support-files 其中存放着Mysql的配置文件模板和服务控制脚本等文件Mysql的配置文件为 /etc/my.cnf ,数据库目录为 /usr/local/mysql/data
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/4e5ca9ed7f29614e6190ae56adae2e47.png)
接下来就开始部署这些文件,然后让Mysql启动起来吧!首先建立mysql用户和组,并不创建家目录,不允许登陆系统# useradd -M -s /sbin/nologin mysql-M不创建家目录-s 知道使用shell设置mysql安装目录的属主和属组 # chown -R mysql:mysql /usr/local/mysql/给数据库目录可读可写的权限# chmod 777 -R /usr/local/mysql/data/复制配置文件和服务控制脚本到相应位置# cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/16ea73423fbb306eb65e892c7c2860ae.png)
编辑配置文件/etc/my.cnf,添加:basedir = /usr/local/mysqldatadir = /usr/local/mysql/data
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/79b07c55e8651d4b5c3603de040ff8c5.png)
指定安装目录和数据库目录就可以了,其他参数先不用管。
接下来就可以初始化数据库了# cd /usr/local/mysql# scripts/mysql_install_db --user=mysql所示就代表成功了,可以用 echo $? 查看返回值
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/4defc632ed5780b8fb12d7bae0278cdd.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/9dc178978b2933ac6a6ba33ce8aca39c.png)
现在就可以启动Mysql数据库服务了 它的启动命令是 mysqld# service mysqld start然后出现大写的 " SUCCESS "就代表启动成功了,然后用netstat看看它监听的端口吧!# netstat -anpt | grep mysqld我们发现它默认监听在 TCP 的" 3306 "端口
环境变量配置下# echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh# source /etc/profile.d/mysql.sh配置好后,可以在任意目录下使用mysql命令,直接进到mysql shell界面
接下来就分析一下my.cnf这个配置文件的各参数意义basedir mysql的安装目录datadir 数据库目录port 指定服务端口,默认3306 端口server_id pid文件路径socket 套接字skip-locking 可避免mysql的外部锁定,降低系统出错几率skip-name-resolve 禁止mysql对外部连接进行DNS解析,可节约时间 key_buffer_size 设置索引缓存区大小,合理调节这个数值可以获得更好的索引处理性能,过度调大反而降低性能。参数没有可以自己添加sort_buffer_size 设置排序缓存区的大小 (每个连接独占)read_buffer_size 设置查询操作缓存区的大小 (每个连接独占)join_buffer_size 设置联合查询操作缓存区的大小 (每个连接独占)max_connections 设置服务器最大连接进程数
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/2b777f88583b345c8e985075332f26a8.png)
mysql的root用户没有密码是非常不安全的,接下来我们为它配置一个密码。注意 要给root用户添加密码是需要启动服务的,请确保你的Mysqld服务处于运行状态# mysqladmin -u root password "rex111"这个mysqladmin是Mysql服务器的管理程序,可用于执行检察配置文件、检查服务状态、关闭服务器、创建数据库以及删除数据库等的系统管理操作。其格式如下:mysqladmin 选项 参数 . . . create db_name 创建一个名为db_name的新数据库 debug 将debug信息写入错误日志 drop db_name 删除一个名为db_name的数据库 extended-status 显示服务器状态变量和他们的值 flush-hosts 刷新缓存中的所有信息 flush-logs 刷新所有日志信息 flush-privileges 重新载入授权表 flush-status 清除状态变量 flush-tables 刷新所有的表 flush-threads 刷新线程的缓存 ping 显示服务器运行状态 processlist 正在运行服务器线程的列表 password new_password 更改密码 shutdown 关闭服务器 start-slave 在从服务器上启动同步 stop-slave 在从服务器上关闭同步 -u root 指定用户 -h localhost 指定连接的主机 -p 指定需要输入密码
编译安装mariadb已经完成剩下php觉得重新开一稿,不然大家看到都配置不下去了。
我们的辛苦获得了回报。
给自己一个like~~
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
CentOS 6.6
服务器IP:192.168.230.202
软件包位置/tmp/httpd
wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.25.tar.gz ##httpd2.4.25
wget https://www.openssl.org/source/openssl-1.0.1u.tar.gz ##openssl
https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz ##apr
https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz ##apr-util
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/dee4cf915af476a9ade395f29be69bed.png)
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo ##centos6 yum源
rpm -Uvh http:
//mirrors
.ustc.edu.cn
/fedora/epel/6/x86_64/epel-release-6-8
.noarch.rpm ##epel
包组:yum groupinstall "Compatibility libraries" "Development tools"
软件包 yum install gcc
软件包 yum install pcre-devel pcre -y
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/fe7339a0dc399cd112d2b57932cc2c9b.gif)
真佩服我们做了这么多准备,老天不会欺负这么勤快的孩子的
开始上主菜了
1、安装apr、apr-util
[root@localhost httpd]# tar -xf apr-1.5.2.tar.gz ##解压解压 [root@localhost httpd]# tar -xf apr-util-1.5.4.tar.gz ##解压解压 cd /tmp/httpd/apr-1.5.2 ./configure --prefix=/usr/local/apr1.5 ##--prefix指定安装位置 make && make install ##编译,安装 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr1.5 ##这个是apr的工具集,它依赖于上面的那个apr, 所以加上--with来指定我们安装apr的目录。 make && make install ##编译,安装
2、安装openssl
[root@localhost httpd]# tar xf openssl-1.0.1u.tar.gz [root@localhost httpd]# cd openssl-1.0.1u [root@localhost openssl-1.0.1u]# ./config --prefix=/usr/local/openssl1u -fPIC ##-fPIC 经过多次测试,如果不加,在装HTTPD2.4的时候,会出现报错 [root@localhost openssl-1.0.1u]# make && make install
##导出库文件,新建/etc/ld.so.conf.d/openssl1u.conf文件。 https会用到新版本的库文件。 ##添加/usr/local/openssl1u/lib ldconfig ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig。 ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/7cc5b1dba0a089967346e2f45cfec592.png)
三、安装httpd2.4
![](https://oscdn.geek-share.com/Uploads/Images/Content/201812/f95c32c8725c574ff2a48461e102da11.gif)
[root@localhost httpd]# tar xf httpd-2.4.25.tar.gz [root@localhost httpd]# cd httpd-2.4.25 [root@localhost httpd-2.4.25]#./configure --prefix=/usr/local/httpd2.4 --sysconfdir=/etc/httpd2.4 --enable-so --enable-ssl --enable-rewrite --enable-cgi --with-zlib --with-pcre --with-apr=/usr/local/apr1.5/ --with-apr-util=/usr/local/apr-util/ --with-ssl=/usr/local/openssl1u/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event make && make install --sysconfdir 配置文件目录 -enable-so 开启DSO动态装卸shared模块 --enable-ssl https的功能 --enable-rewrite 地址重写 --enable-cgi CGI脚本功能 --with-zlib 压缩功能的函数库 --with-pcre perl库 刚才安装的软件的目录 --enable-modules=most 编译常用的模块 --enable-mpms-shared=all 所有的动态模块 后面这个默认挂载MPM模块event.
杂项
(1)去httpd的安装目录看一下结果。 一切OK的话就可以下面的了。
(2 ) 把httpd的头文件符号链接到/usr/include #不是必须的,怕以后有软件会用。
[root@localhost httpd-2.4.25]# ln -s /usr/local/httpd2.4/include/ /usr/include/httpd2.4
( 3 ) 新建/etc/profile.d/httpd2.4.sh文件,添加进PATH变量。
vim /etc/profile.d/httpd2.4.sh export PATH=/usr/local/httpd2.4/bin:$PATH #写入文件内容,执行一个source 执行source命令: source /etc/profile.d/httpd2.4.sh ##文件内容 echo $PATH
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/ec85ee74243027e732101ba1496deb63.png)
( 4 )编辑/etc/httpd2.4/httpd.conf
[root@localhost httpd2.4]# grep rex /etc/httpd2.4/httpd.conf
ServerName www.rex.com:80
##ServerName 把原本的#ServerName www.example.com:80改成自己想要的域名并删掉#
[root@localhost httpd2.4]# /usr/local/httpd2.4/bin/apachectl start
[root@localhost httpd2.4]# curl 127.0.0.1
<html><body><h1>It works!</h1></body></html>
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
It works!
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201703/19a3006251071c1e272aa1bd9de0349f.gif)
(5) 来个服务脚本,可以用service来启动关闭。
为了避免麻烦,直接把原来的httpd的服务脚本复制一下,改吧改吧。
[root@localhost httpd2.4]# cp /etc/init.d/httpd /etc/init.d/httpd24
[root@localhost httpd2.4]# vim /etc/init.d/httpd24
##表示区别,我们服务名叫httpd24
41行开始
apachectl=/usr/local/httpd2.4/bin/apachectl httpd=${HTTPD-/usr/local/httpd2.4/bin/httpd} prog=httpd pidfile=${PIDFILE-/var/run/httpd2.4/httpd2.4.pid} lockfile=${LOCKFILE-/var/lock/subsys/httpd2.4} RETVAL=0 STOP_TIMEOUT=${STOP_TIMEOUT-10}
把原来的目录改成我们编译安装后的目录
pid待会要去创建
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/295ae25b1ada38c1332214aecede8ecc.png)
[root@localhost httpd2.4]# mkdir /var/run/httpd2.4
[root@localhost httpd2.4]# chmod 700 /var/run/httpd2.4
创建进程文件夹并修改权限
[root@localhost httpd2.4]# vim /etc/httpd2.4/httpd.conf
32行里面加入:
pidFile "/var/run/httpd2.4/httpd2.4.pid"
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/781a7b8d3f7047aae384575127a201b3.png)
图上已经能这能正常使用service XXX start了
并且有对应的pid号
最后,我们再编译个开机启动
[root@localhost httpd2.4]# chkconfig --add httpd24
[root@localhost httpd2.4]# chkconfig httpd24 on
##httpd24开机自启动
[root@localhost httpd2.4]# chkconfig --list httpd24
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Mariadb
wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.1.20/source/mariadb-10.1.20.tar.gz
官网下载Mariadb包,59M
yum -y install gcc gcc-c++ make cmake ncurses ncurses-devel libxml2 libxml2-devel openssl-devel bison bison-devel
yum安装需要的包文件
不然待会安装会报错
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/ca9023f7baeff075f02d8372ff226488.png)
解压,并进入目录
然后我们执行以下指令对源码包进行预处理:cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci
配置中指定了安装路径、数据库路径、配置文件路径等参数。等配置结束后可以使用 echo $? 查看返回值确定是否配置成功。我在编译时便遇到了一个名为 ncurses-devel 的依赖包没有安装,具体信息请阅读错误提示。等我用yum源安装好后发现无法继续cmake了,只好删除后重新解压源码包才配置成功的。好了 一切没问题了就开始 make && make install 吧!# make && make install
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/c375275d61fc0eb5de8ce5ef3def440c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/e135bd36b0846d373f9b6275bcfbf681.png)
由于源码包比较大,解压后我统计了下,竟然291M,天啊这可得慢慢等待了。我花费了一个多小时才编译完成的,也是够慢了。编译安装完成后会生成 /usr/local/mysql 这样一个文件夹,如果选用了直接解压二进制包,就把它解压到 /usr/local 中。我们进入这个文件夹中看看bin 这个目录存放着mysql的服务器和客户机程序,我们应该添加到环境变量data 这个文件夹就是数据库目录include 这里存放着mysql开发用的函数头文件,可以被其他源码包编译时依赖lib Mysql运行需要的运行库scripts Mysql初始化数据库的脚本,更改数据库目录后也需要进行初始化man Mysql是使用手册,需要让man命令识别这个路径才能使用support-files 其中存放着Mysql的配置文件模板和服务控制脚本等文件Mysql的配置文件为 /etc/my.cnf ,数据库目录为 /usr/local/mysql/data
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/4e5ca9ed7f29614e6190ae56adae2e47.png)
接下来就开始部署这些文件,然后让Mysql启动起来吧!首先建立mysql用户和组,并不创建家目录,不允许登陆系统# useradd -M -s /sbin/nologin mysql-M不创建家目录-s 知道使用shell设置mysql安装目录的属主和属组 # chown -R mysql:mysql /usr/local/mysql/给数据库目录可读可写的权限# chmod 777 -R /usr/local/mysql/data/复制配置文件和服务控制脚本到相应位置# cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/16ea73423fbb306eb65e892c7c2860ae.png)
编辑配置文件/etc/my.cnf,添加:basedir = /usr/local/mysqldatadir = /usr/local/mysql/data
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/79b07c55e8651d4b5c3603de040ff8c5.png)
指定安装目录和数据库目录就可以了,其他参数先不用管。
接下来就可以初始化数据库了# cd /usr/local/mysql# scripts/mysql_install_db --user=mysql所示就代表成功了,可以用 echo $? 查看返回值
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/4defc632ed5780b8fb12d7bae0278cdd.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/9dc178978b2933ac6a6ba33ce8aca39c.png)
现在就可以启动Mysql数据库服务了 它的启动命令是 mysqld# service mysqld start然后出现大写的 " SUCCESS "就代表启动成功了,然后用netstat看看它监听的端口吧!# netstat -anpt | grep mysqld我们发现它默认监听在 TCP 的" 3306 "端口
环境变量配置下# echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh# source /etc/profile.d/mysql.sh配置好后,可以在任意目录下使用mysql命令,直接进到mysql shell界面
接下来就分析一下my.cnf这个配置文件的各参数意义basedir mysql的安装目录datadir 数据库目录port 指定服务端口,默认3306 端口server_id pid文件路径socket 套接字skip-locking 可避免mysql的外部锁定,降低系统出错几率skip-name-resolve 禁止mysql对外部连接进行DNS解析,可节约时间 key_buffer_size 设置索引缓存区大小,合理调节这个数值可以获得更好的索引处理性能,过度调大反而降低性能。参数没有可以自己添加sort_buffer_size 设置排序缓存区的大小 (每个连接独占)read_buffer_size 设置查询操作缓存区的大小 (每个连接独占)join_buffer_size 设置联合查询操作缓存区的大小 (每个连接独占)max_connections 设置服务器最大连接进程数
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/03/2b777f88583b345c8e985075332f26a8.png)
mysql的root用户没有密码是非常不安全的,接下来我们为它配置一个密码。注意 要给root用户添加密码是需要启动服务的,请确保你的Mysqld服务处于运行状态# mysqladmin -u root password "rex111"这个mysqladmin是Mysql服务器的管理程序,可用于执行检察配置文件、检查服务状态、关闭服务器、创建数据库以及删除数据库等的系统管理操作。其格式如下:mysqladmin 选项 参数 . . . create db_name 创建一个名为db_name的新数据库 debug 将debug信息写入错误日志 drop db_name 删除一个名为db_name的数据库 extended-status 显示服务器状态变量和他们的值 flush-hosts 刷新缓存中的所有信息 flush-logs 刷新所有日志信息 flush-privileges 重新载入授权表 flush-status 清除状态变量 flush-tables 刷新所有的表 flush-threads 刷新线程的缓存 ping 显示服务器运行状态 processlist 正在运行服务器线程的列表 password new_password 更改密码 shutdown 关闭服务器 start-slave 在从服务器上启动同步 stop-slave 在从服务器上关闭同步 -u root 指定用户 -h localhost 指定连接的主机 -p 指定需要输入密码
编译安装mariadb已经完成剩下php觉得重新开一稿,不然大家看到都配置不下去了。
我们的辛苦获得了回报。
给自己一个like~~
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201512/10d6a02580e4f01ad4cbd1701880a3ca.gif)
相关文章推荐
- 基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)
- centos7.3基于源码编译安装LAMP实现个人博客搭建
- centos7.3 编译安装lamp,利用wordpress实现个人博客搭建
- Centos 5.5 Lamp源码包安装编译
- centos6.5 编译安装lamp以及相关错误的解决方法
- CentOS 5.5下LAMP环境搭建之源码安装Apache2(httpd-2.4.3)
- 详解四:CentOS下编译安装PHP开发环境,配置LAMP
- CentOS 源码编译安装LAMP(Apache MySQL PHP)
- CentOS5.5下快速编译安装最新的LAMP环境
- LAMP搭建之一:apache编译安装
- CentOS 5.5下LAMP环境搭建之源码安装MySQL(mysql-5.5.28)
- 在虚拟机(CentOS)中搭建LAMP开发环境2--[安装Nginx]
- 详解三:CentOS下编译安装PHP开发环境,配置LAMP
- CentOS5.6编译安装无线网卡驱动(用退休的笔记本搭建自己的Linux服务器)
- CentOS 5.5下LAMP环境搭建之源码安装PHP(php-5.4.8)
- CentOS 5.5(X64)下编译安装LAMP平台
- CentOS 5.X 源码编译安装LAMP(Apache+MySQL+PHP)
- CentOS编译安装lamp .
- 详解一:CentOS下编译安装PHP开发环境,配置LAMP
- CentOS下编译安装LAMP环境