重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍“CentOS7中源码编译安装LAMP架构”,在日常操作中,相信很多人在CentOS7中源码编译安装LAMP架构问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CentOS7中源码编译安装LAMP架构”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联建站作为成都网站建设公司,专注网站建设、网站设计,有关企业网站制作方案、改版、费用等问题,行业涉及成都报废汽车回收等多个领域,已为上千家企业服务,得到了客户的尊重与认可。Apache
网站服务
MySQL
服务
LAMP
构架应用实例
源于A Patchy Server,
著名的开源Web
服务软件
1995
年时,发布Apache
服务程序的1 .0
版本
由Apache
软件基金会(ASF
) 负责维护
最新的名称为" Apache HTTP Server
"
官方站点: htp://ttpd.apache.org/
开放源代码、跨平台应用
支持多种网页编程语言
模块化设计、运行稳定、良好的安全性
1.X
目前高版本是1.3
,运行稳定
向下兼容性较好,但缺乏-些较新的功能
2.X
目前高版本是2.4
具有更多的功能特性
与1.X
相比,配置管理风格存在较大差异
具有较大的自由度,功能可定制
可及时获得最新的软件版本
普遍适用于大多数Linux版本,便于移植使用
参考地址:
htp://httpd.apache.org/download.cgi
下载源码包
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
卸载httpd及相关依赖包
[root@www ~ ]# rpm -e httpd --nodeps //--nodeps忽略软件包依赖性
将下载的源码包放入Linux系统中mnt目录下
cd /mnt //进入mnt目录 tar zxvf /mnt/apr-1.6.2.tar.gz -C /opt/ //解压http服务跨平台组件包到opt目录 tar zxvf /mnt/apr-util-1.6.0.tar.gz -C /opt/ tar jxvf /mnt/httpd-2.4.29.tar.bz2 -C /opt/ //解压http服务源码包到opt目录 mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr //将解压的跨平台软件包移动到httpd软件包srclib目录下并更改名称 mv /opt/apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util yum install \ //安装源码环境包 gcc \ //安装c语言编译器 gcc-c++ \ //安装c++编译器 make \ //安装make工具 pcre-devel \ //安装perl语言开发软件 expat-devel \ //安装标签性语言解析器 perl -y //安装perl语言编译器 cd /opt/httpd-2.4.29/ //进入http软件包 ./configure \ //执行脚本configure --prefix=/usr/local/httpd \ //指定http服务安装路径 --enable-so \ //开启http服务核心模块 --enable-rewrite \ //开启重写功能 --enable-charset-lite \ //开启字符集支持,以便支持使用各种字符集编码的网页 --enable-cgi //开启通用网关接口,一种编码的规范,能够支持所有网站开发语言的格式 make //使用make工具将上面配置的文件编译转换为可执行文件 make install //安装http服务 cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd //添加启动脚本,方便控制服务的启动 vim /etc/init.d/httpd //进入编辑启动脚本文件 #!/bin/bash # chkconfig: 35 85 21 //声明35级别自动开启,第85个启动,第21个关闭 # description: Apache is a World Wide Web server //声明服务类型,在第一行下添加这两个声明 ...//省略部分内容... :wq //保存退出 chkconfig --add httpd //将httpd加入到SERVICE管理器 sed -i "51s/#Listen 12.34.56.78:80/Listen “本机IP地址”:80/" /usr/local/httpd/conf/httpd.conf //更改配置文件,将监听地址更改为本机IP地址 sed -i '52s/^/#/' /usr/local/httpd/conf/httpd.conf //更改配置文件,将52行的ipv6监听地址关闭 sed -i '197s/#ServerName www.example.com:80/ServerName www.example.com:80/' /usr/local/httpd/conf/httpd.conf //更改配置文件,将ServerName开启 ln -s /usr/local/httpd/conf/httpd.conf /etc/ //给配置文件建软连接,放入etc目录下,方便管理 ln -s /usr/local/httpd/bin/* /usr/local/bin/ //将http目录下命令建立软连接到系统命令文件目录,方便系统识别 httpd -t //检查服务配置语法是否有问题 apachectl -t systemctl stop firewalld.service //关闭防火墙功能 setenforce 0 //关闭增强性安全功能 service httpd start //启动服务 netstat -ntap | grep 80 //查看端口是否成功开启
在宿主机中打开浏览器,输入IP地址,验证httpd服务是否正常安装
下载源码包
mysql-5.6.26.tar.gz
源码编译及安装
将下载的源码包放入Linux系统中mnt目录下
cd /mnt tar zxvf /mnt/mysql-5.6.26.tar.gz -C /opt //解压源码包到opt目录 yum install -y ncurses-devel autoconf cmake //安装环境包 cd /opt/mysql-5.6.26/ cmake \ //使用cmake工具进行配置 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定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 //定义sock通讯文件位置 make //使用make工具将上面配置的文件编译转换为可执行文件 make install //安装mysql软件 rm -rf /etc/my.cnf //删除etc目录下系统自带的mysql配置文件 cp support-files/my-default.cnf /etc/my.cnf //将配置文件重新建立在etc目录下 cp support-files/mysql.server /etc/init.d/mysqld //将文件启动脚本复制到init.d目录下 cd /etc/init.d/ //进入init.d目录 chmod +x mysqld //给mysql文件添加执行权限 chkconfig --add /etc/init.d/mysqld //将服务添加至service管理器 chkconfig --level 35 mysqld on //将MySQL服务设置在3、5级别开启 echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile //声明环境变量,将其追加到profile文件中 source /etc/profile //重新声明profile文件 echo $PATH //输出变量信息,查看是否有上面追加的MySQL命令目录 useradd -s /sbin/nologin mysql //创建mysql用户,使其不能登录 chown -R mysql:mysql /usr/local/mysql/ //将mysql目录下的所有文件所有用户与组更改为mysql用户、组 /usr/local/mysql/scripts/mysql_install_db \ //初始化mysql数据库信息 --user=mysql \ //指定数据库的用户 --ldata=/var/lib/mysql \ //指定数据库的函数库 --basedir=/usr/local/mysql \ //指定数据库的工作目录 --datadir=/home/mysql //指定数据的存放位置 sed -i '46s/basedir=/basedir=\/usr\/local\/mysql/' /etc/init.d/mysqld sed -i '47s/datadir=/datadir=\/home\/mysql/' /etc/init.d/mysqld //进入配置文件填写数据库的工作目录与数据的存放位置 service mysqld start //启动数据库 netstat -anpt | grep 3306 //查看数据库端口是否开启 mysqladmin -u root -p password "123123" //给mysql数据库管理员root账号设置密码 //设置密码完成后会提示输入旧密码确认,因为没有旧密码,直接回车就可以 mysql -u root -p //可以使用此命令进入数据库
下载源码包
php-5.6.11.tar.bz2
源码编译及安装
将下载的源码包放入Linux系统中mnt目录下
cd /mnt/ tar jxvf php-5.6.11.tar.bz2 -C /opt/ //解压php源码包 yum -y install \ //安装环境 gd \ //安装gd库,图像处理库 libpng \ //安装解析PNG图像格式的库 libpng-devel \ //安装程序处理PNG图像格式文件的开发工具 pcre \ //安装perl语言库 pcre-devel \ //安装perl语言开发软件 libxml2-devel \ //安装xml语言解析工具 libjpeg-devel //安装程序处理jpg图像格式文件的开发工具 cd /opt/php-5.6.11/ //进入解压的php目录 ./configure \ //执行configure脚本文件 --prefix=/usr/local/php5 \ //指定php安装路径 --with-gd \ //支持gd库 --with-zlib \ //支持数据压缩函数库 --with-apxs2=/usr/local/httpd/bin/apxs \ //关联http服务 --with-mysql=/usr/local/mysql \ //关联mysql数据库 --with-config-file-path=/usr/local/php5 \ //关联php的配置文件 --enable-mbstring //开启功能性模块 make //使用make工具进行编译 make install //开始安装php服务 cp php.ini-development /usr/local/php5/php.ini //将php配置文件放入php5目录下,更改为php.ini ln -s /usr/local/php5/bin/* /usr/local/bin/ //将php目录下的命令建立软连接文件放入/usr/local/bin/目录 sed --follow-symlink -i '256s/DirectoryIndex index.html/ DirectoryIndex index.html index.php/' /etc/httpd.conf //使http默认首页可以支持php格式文件 sed --follow-symlink -i '393a AddType application/x-httpd-php .php\n AddType application/x-httpd-php-source .phps' /etc/httpd.conf // 添加条目使http支持php文件 echo -e "" > /usr/local/httpd/htdocs/index.html //书写文件,加入http默认主页文件 mv /usr/local/httpd/htdocs/index.html /usr/local/httpd/htdocs/index.php //将默认主页文件更改为php文件 service httpd stop //停止http服务 service httpd start //启动http服务
在宿主机中打开浏览器,输入IP地址,验证网页是否显示刚编辑的网页内容,以测试PHP软件是否安装
PHP软件成功安装,LAMP架构成功搭建
到此,关于“CentOS7中源码编译安装LAMP架构”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。