Linux下Web服务器应用之源码构建LAMP环境

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

 

Linux下Web服务器应用之

源码构建LAMP环境

1.构建的linux环境:

[root@www ~]# uname –a    #Linux 的环境

Linux www 2.6.18-128.el5 #1 SMP Wed Dec 17 11:42:39 EST 2008 i686 i686 i386 GNU/Linux

2.准备工作:

准备一:关闭firewall和SELinux(略)

准备二:构建本地yum服务器(略)

准备三:下载以下软件(我存放在linux的/root/lamp下)

mysql-5.5.19-linux2.6-i686.tar.gz
httpd-2.2.21.tar.gz
php-5.3.8.tar.bz2

Ü Apache http://www.apache.org/

Ü Mysql http://www.mysql.com/

Ü Php http://www.php.net/

准备四:构建编译组环境

使用# yum grouplist all |less查看已安装的组环境(红色必选

Java Development
KDE Software Development

Legacy Software Development

X Software Development

Development Libraries

Development Tools

发现这里没有安装Development Tools,使用下面命令安装

[root@www ~]# yum groupinstall "Development Tools"

源码构建LAMP环境过程

1.源码安装mysql:

 

 

#这里我将下载的软件存放到/root/lamp目录下

 

 

 

[root@www ~]# cd /root/lamp/

 

 

#解压mysql的主程序文件,使用tar –zxvf,并使用-C指定解压目录 

 

 

(说明:一般一些额外的软件安装时经常将其放到/usr/local目录下)

 

 

[root@www lamp]# tar -zxvf mysql-5.5.19-linux2.6-i686.tar.gz -C /usr/local/

 

 

#切换至/usr/local/的目录下,并创建软连接,便于访问mysql文件

 

 

[root@www lamp]# cd /usr/local/

 

 

[root@www local]#ll

 

 

[root@www local]# ln -s mysql-5.5.19-linux2.6-i686/ mysql

 

 

[root@www local]# ll

 

 

#切换至mysql的目录下,进行一些主要配置

 

 

[root@www local]# cd mysql

 

 

[root@www mysql]# groupadd -r mysql

 

 

[root@www mysql]# useradd -r -g mysql -s /sbin/nologin -M mysql

 

 

 

[root@www mysql]# chown -R mysql:mysql .

 

 

 

[root@www local]# ll

 

 

[root@www mysql]# scripts/mysql_install_db --user=mysql

 

 

[root@www mysql]# chown -R root .

 

 

[root@www mysql]# chown -R mysql data/

 

 

[root@www mysql]# ll

 

 

[root@www mysql]# cp support-files/my-medium.cnf /etc/my.cnf

 

 

[root@www mysql]# cp support-files/mysql.server /etc/init.d/mysqld

 

 

#此时可以在任何位置,使用mysqld来管理服务

 

 

[root@www mysql]# service mysqld start

 

 

Starting MySQL...                                          [ OK ]

 

 

#配置mysql的头文件

 

 

[root@www mysql]# cat /etc/ld.so.conf

 

 

[root@www mysql]# cd /etc/ld.so.conf.d/

 

 

[root@www ld.so.conf.d]# ll

 

 

[root@www ld.so.conf.d]# vim mysql.conf

 

 

/usr/local/mysql/lib

 

 

[root@www ld.so.conf.d]# ldconfig -v |grep mysql

 

 

/usr/local/mysql/lib:

 

 

      libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0

 

 

#配置mysql的库文件

 

 

[root@www ld.so.conf.d]# cd /usr/include/

 

 

[root@www include]# ln -s /usr/local/mysql/include/ mysql

 

 

[root@www include]# cd mysql/

 

 

[root@www mysql]# ll

 

 

[root@www mysql]# cd

 

 

#使chkconfig可以管理mysqld服务

 

 

[root@www ~]# chkconfig --add mysqld

 

 

[root@www ~]# chkconfig --list |grep mysqld

 

 

mysqld            0:off    1:off    2:on     3:on     4:o5:on      6:off

 

[root@www ~]#

2.源码安装apache:

#解压apache程序文件
[root@www ~]# cd /root/lamp/

[root@www lamp]# tar -zxvf httpd-2.2.21.tar.gz -C /usr/local/src/

[root@www lamp]# cd /usr/local/src/
[root@www src]# ll
[root@www src]# cd httpd-2.2.21/
#配置apache二进制文件

[root@www httpd-2.2.21]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --with-z --enable-ssl

#编译apache二进制文件
[root@www httpd-2.2.21]#make
#安装apache二进制文件
[root@www httpd-2.2.21]#make install
#进行相关配置,使apache正常工作

[root@www httpd-2.2.21]# cd /usr/local/apache/

[root@www apache]# ./bin/apachectl start

[root@www apache]# netstat -tupln |grep http

[root@www apache]# vim /etc/profile
55 PATH=$PATH:/usr/local/apache/bin/
[root@www apache]# . /etc/profile
[root@www apache]# echo $PATH
 

/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin/

 

#此时可以再任何位置:apachectl  start|restart |stop
#配置apache的头文件
[root@www apache]# cd /usr/include/

[root@www include]# ln -s /usr/local/apache/include/ apache

#配置apache的库文件
[root@www include]# cat /etc/ld.so.conf

[root@www include]# cd /etc/ld.so.conf.d/

[root@www ld.so.conf.d]# vim apache.conf

/usr/local/apache/lib

[root@www ld.so.conf.d]# ldconfig -v |grep apache

/usr/local/apache/lib:
[root@www ld.so.conf.d]#
#查看httpd和mysqld信息.

[root@www ld.so.conf.d]# netstat -tupln |grep httpd

tcp        0      0 :::80    :::*    LISTEN      21263/httpd        

[root@www ld.so.conf.d]# netstat -tupln |grep mysqld

tcp        0      0 :::3306   :::*        LISTEN      2937/mysqld

 

3.源码安装php:

#解压php程序文件

[root@www ~]# cd /root/lamp/

[root@www lamp]# tar -jxvf php-5.3.8.tar.bz2 -C /usr/local/src/

[root@www lamp]# cd /usr/local/src/
[root@www src]# ll
[root@www src]# cd php-5.3.8/
[root@www php-5.3.8]# ll
#配置php二进制文件

 

[root@www php-5.3.8]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config

#编译php二进制文件
 
[root@www php-5.3.8]# make
#安装php二进制文件
[root@www php-5.3.8]# make install

4.测试LAMP环境:

增加网页测试文件:

#编辑apache的配置文件使识别index.php文件

[root@www htdocs]# vim /etc/httpd/httpd.conf

167     DirectoryIndex index.php index.html

310     AddType application/x-httpd-php .php

[root@www htdocs]# apachectl stop
[root@www htdocs]# apachectl start

 

#测试apache与PHP的连接:

[root@www php-5.3.8]# cd /usr/local/apache/htdocs/

[root@www htdocs]# ll
total 4
-rw-r--r-- 1 root root 44 Nov 21 2004 index.html

[root@www htdocs]# mv index.html index.php

[root@www htdocs]# vim index.php

<html><body><h1>It works!--xjzhujunjie--2012/03/18</h1></body></html>

<?php
phpinfo();
?> 

 

 

 

 

#测试apache与mysql的连接:

[root@www htdocs]# vim /usr/local/apache/htdocs/index.php

It works!--xjzhujunjie--2012/03/18
<?php
$link=mysql_connect('127.0.0.1','root','');
if($link)
echo "scuess";
else
echo "fail";
?>

[root@www htdocs]# service mysqld stop
Shutting down MySQL.                                       [ OK ]
--xjzhujunjie –2012/03/19-0:04




本文转自xjzhujunjie 51CTO博客,原文链接:http://blog.51cto.com/xjzhujunjie/810067

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
17天前
|
关系型数据库 应用服务中间件 Linux
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
44 1
Linux云服务器如何搭建LNMP环境
|
2月前
|
监控 前端开发 应用服务中间件
小游戏源码开发搭建技术栈和服务器配置流程
近些年不同场景游戏层出不穷,现就小游戏开发技术应用及功能详细剖析!
|
3月前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
3月前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
910 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
4月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
169 4
|
4月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
320 3
|
SQL Web App开发 测试技术
Web in Linux小笔记001
Linux灾难恢复:   Root密码修复 Centos single   Filesystem是硬盘文件根目录,无法再cd ..就像macitosh 硬盘图标 Pwd:显示绝对路径 MBR修复 模拟MBR被破坏和修复   C语言死循环程序   #include int main(voi...
1206 0
|
SQL Web App开发 测试技术
Web in Linux小笔记001
Linux灾难恢复:   Root密码修复 Centos single   Filesystem是硬盘文件根目录,无法再cd ..就像macitosh 硬盘图标 Pwd:显示绝对路径 MBR修复 模拟MBR被破坏和修复   C语言死循环程序   #include int main(vo...
1168 0
|
SQL Web App开发 测试技术
Web&amp;nbsp;in&amp;nbsp;Linux小笔记001
Linux灾难恢复:   Root密码修复 Centos single   Filesystem是硬盘文件根目录,无法再cd ..就像macitosh 硬盘图标 Pwd:显示绝对路径 MBR修复 模拟MBR被破坏和修复   C语言死循环程序   #include...
1488 0
|
3天前
|
关系型数据库 MySQL 数据库
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
TIS 是一款基于Web-UI的开源大数据集成工具,通过与人大金仓Kingbase的深度整合,提供高效、灵活的实时数据集成方案。它支持增量数据监听和实时写入,兼容MySQL、PostgreSQL和Oracle模式,无需编写复杂脚本,操作简单直观,特别适合非专业开发人员使用。TIS率先实现了Kingbase CDC连接器的整合,成为业界首个开箱即用的Kingbase CDC数据同步解决方案,助力企业数字化转型。
39 5
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!