1. 安装mysql
cd /usr/local/src/
免安装编译二进制的包
wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 解压
mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql 挪到mysql下并重命名为mysql

useradd -s /sbin/nologin mysql 增加一个mysql用户不让它登录
mkdir -p /data/mysql 要存放mysql数据

cd /usr/local/mysql

chown -R mysql:mysql /data/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql 初始化,要运行一些mysql必要的文件mysql表,数据库放在/data/mysql

echo $?

]# ls /data/mysql
mysql test
生成了mysql库

mysql]#ls support-files/
mysql]#cp support-files/mysql.server /etc/init.d/mysqld mysql启动的脚本====
放到这里是为了让它放到系统的服务列表里面去

chmod 755 /etc/init.d/mysqld

chkconfig --add mysqld
chkconfig mysqld on

vim /etc/init.d/mysqld 需要修改一下配置文件================
加上如下内容
basedir=/usr/local/mysql mysql所在的路径
datadir=/data/mysql 要存放mysql数据

mysql]# ls support-files/
my-huge.cnf
my-large.cnf
my-small.cnf

cp support-files/my-huge.cnf /etc/my.cnf 也可以打开my.cnf 修改他的端口
vim /etc/my.cnf 里面有配置
注释下面两行,是做主从用的,防止占用过多资源,
#log-bin=mysql-bin
#server-id = 1

service mysqld start
或者
/etc/init.d/mysqld start mysql启动脚本========================

ps aux |grep mysqld
netstat -lnp |grep mysql

ls /data/mysql 查看一下生成的文件
可以查看一下错误日志

2. 安装apache
wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz
tar zvxf httpd-2.2.16.tar.gz
cd httpd-2.2.16

./configure --prefix=/usr/local/apache2 --with-included-apr --with-pcre --enable-mods-shared=most
prefix后面是安装apache的目录,apr可以让我们在多个平台使用apache,pcre叫正则相关的,后面是模块

如果上面出错就需要安装一下gcc和apr yum install -y gcc apr
echo $?

make
make install
ls /usr/local/apache2/ 可以查看生成的文件

启动apache
/usr/local/apache2/bin/apachectl start
ps aux |grep httpd

【httpd-2.4版本编译安装方法】 http://www.aminglinux.com/bbs/thread-7283-1-1.html
2.2用到他自带的apr,2.4要用到系统的apr
【如何指定使用worker/prefork】 http://www.lishiming.net/thread-944-1-1.html
【apache两种工作模式】http://www.lishiming.net/thread-838-1-2.html

php必须在前面两者后面安装

3. 安装php
wget http://cn2.php.net/distributions/php-5.3.28.tar.gz
tar zxf php-5.3.28.tar.gz

cd php-5.3.28 安装相关需要的包,继续执行下面的操作
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6

如果安装出错就是缺少一些库,需要安装一下 yum install -y libxml2-devel 比如这个,后面都跟-devel
(不确定的时候可以查找一下 yum list |grep bzip2)很准确

注意,最后到这里mcrypt 这个包,你需要安装epel的扩展源才可以看到
不然yum list |grep mcrypt 是搜索不到mcrypt

centos6
32位epel yum源下载地址:wget www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm
64位下载地址: www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm

rpm -ivh epel-release-6-8_32.noarch.rpm

然后就可以搜索yum list |grep mcrypt

centos6
32位epel yum源下载地址: www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm
64位下载地址: www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm

下载完后
rpm -ivh 'www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm'

yum install -y libmcrypt-devel 然后才可以成功安装这个

make
make install

【php5.5、5.6编译安装方法】http://www.aminglinux.com/bbs/thread-7284-1-1.html

=========================================================mysql,apache,php安装完成了

4. 配置apache结合php
vim /usr/local/apache2/conf/httpd.conf apache的配置文件,里面和很多模块

ls /usr/local/apache2/modules/ apache模块的路径

/usr/local/apache2/bin/apachectl -M 查看静态动态的模块
里面的share(动态)是通过LocadModule控制的
静态的模块就是把这些静态模块塞到了我们的执行文件
ls /usr/local/apache2/bin/httpd 里,把他们变成一个模块,可以理解是内核模块

apache配置文件最后的那个模块LoadModule php5_module modules/libphp5.so
是上面的./configure --with-apxs2=/usr/local/apache2/bin/apxs
这里完成的操作

====================================
/usr/local/apache2/bin/apachectl -l 只查看静态的内核模块
core.c
http_core.c
mod_so.c
prefork.c 这个是默认的mpm模式,有三种模式,常用的有prefork,worker,event 简单的区别是prefork使用的是 子进程S给我们的客户端提供服务。而worker是由进程和线程来提供服务,进程和线程的区别,进程是互相独立的,两个或者多个进程相互不受影响,线程直接是互相共享进程的资源的。prefork使用的内存多一点,worker少一点,worker支持的并发多一点,event是worker的升级版,支持的并发还要多一点,和worker差不多

(上面是apaceh默认编译的公共模式,2.0 2.2 默认的是prefork模式,2.4默认是event)

他的模式可以改
httpd-2.2.16]# ./configure --help |grep mpm
--with-mpm=MPM Choose the process model for Apache to use.
MPM={beos|event|worker|prefork|mpmt_os2}

===================================================
/usr/local/apache2/bin/apachectl -t 改了配置文件后,检测语法也没有错误,然后再重启=============

vim /usr/local/apache2/conf/httpd.conf
找到
<Directory />
将里面的Deny改为Allow 要不然访问不了
Allow from all

</Directory>

将这里打开
DocumentRoot "/usr/local/apache2/htdocs"

找到:
#ServerName www.example.com:80
打开
ServerName localhost:80

找到:
AddType application/x-gzip .gz .tgz
在该行下面添加:
AddType application/x-httpd-php .php

找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

将该行改为:
<IfModule dir_module>
DirectoryIndex index.html index.php 显示默认的主页
</IfModule>

/usr/local/apache2/bin/apachectl -t 检测一下

/usr/local/apache2/bin/apachectl restart 重启apache================

/usr/local/apache2/bin/apachectl graceful 加载配置文件,这个也可以

5. 测试解析php
直接访问 192.168.11.190
vim /usr/local/apache2/htdocs/1.php 这个路径是放php文件的地方============
写入:

<?php
echo "hello world!";
?>

保存后,继续测试:
192.168.11.190/1.php

或者 curl -x192.168.3.129:80 lshfoids.com/1.php 或者index.html

<?php

phpinfo(); 看php的配置文件
?>

加载一下他的配置文件
ls /usr/local/php/etc
cd /usr/local/src/php-5.3.28
ls
php.ini-production 复制这个文件

cp php.ini-production /usr/local/php/etc/php.ini

/usr/local/apache2/bin/apachectl restart 重启一下,然后就可以显示出来了

================

有时候没有web页面,怎么通过命令行去检验和测试php
cd /usr/loacl/php/
/usr/local/php/bin/php -m 可以列出他所有加载的模块

其实apache用的是这个文件 /usr/local/apache2/modules/libphp5.so = /usr/local/php/bin/php
libphp5.so是apache调用的模块,/bin/php是一个执行文件,其实他们是一个东西,能实现一样的功能

/usr/local/php/bin/php -i |less 相当于phpinfo()和他看到的一样,
如果进入到bin下,直接 ./bin/php -i |less

搜索php的配置文件
/usr/local/php/bin/php -i |grep -i 'Configuration File' 查一下他的路径
如果有提示,就改一下他的时间就可以了
vim /usr/local/php/etc/php.ini
date.timezone = 'Asia/Chongqing'

/usr/local/php/etc/php.ini php的配置文件=========

/usr/local/php/bin/php -v 看他的版本

查看./configure 的时候都加了什么选项 查看php的
./bin/php -i |head

查看apache编译过的选项
cat /usr/local/apache2/build/config.nice

mysql编译参数:
# cat /usr/local/mysql/bin/mysqlbug|grep configure

ldd 是查询这个文件都依赖于哪些库
ldd /usr/local/apache2/modules/libphp5.so

==============查看nginx,apache,php,mysql的编译参数

nginx编译参数:
#/usr/local/nginx/sbin/nginx -V
2、apache编译参数:
# cat /usr/local/apache/build/config.nice
3、php编译参数:
# /usr/local/php/bin/php -i |grep configure
4、mysql编译参数:
# cat /usr/local/mysql/bin/mysqlbug|grep configure

LAMP第一部分安装mysql -apache -php的更多相关文章

  1. LAMP之安装mysql/apache/php

    1. 安装mysqlcd /usr/local/src/ wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-gl ...

  2. Linux上安装Mysql+Apache+Php

    一.安装Mysql 1.卸载默认的mysql yum -y remove mysql-libs-* Removed:  mysql-libs.x86_64 0:5.1.73-3.el6_5 卸载成功 ...

  3. LINUX:Contos7.0 / 7.2 LAMP+R 下载安装Mysql篇

    文章来源:http://www.cnblogs.com/hello-tl/p/7569097.html 更新时间:2017-09-21 16:06 简介 LAMP+R指Linux+Apache+Mys ...

  4. 虚拟机下linux安装mysql,apache和php

    由于腿伤了,卧床在家折腾下linux,尝试用虚拟机装mysql,apche和php.中间各种波折,装了好几天,觉得有些经验还是要记录下来,让自己别忘了:) 按照下面这篇文章的方法,基本可以顺利安装成功 ...

  5. Linux 安装mysql+apache+php

    安装mysql 1.  yum install mysql mysql-server 2. 修改mysql密码 >use mysql    >update user set passwor ...

  6. 安装mysql apache php smb

    1 SMB LinuX下SMB的配置 使用Smb进行连接的命令: smbclient //192.168.128.1/Share 今天要在LINUX之间以及LINUX与WINDOWS之间互相传送文件, ...

  7. windows下配置lamp环境(4)---安装MySQL数据库5.6

    图解安装MySQL数据库 1.获取软件就多不说了 2.双击开始安装 3.点击点击NEXT进行下一步 4.同意协议,点击NEXT进入下一步 5.选择指定安装位置安装方法,进入安装位值选择页面: 6.分别 ...

  8. CentOS 离线安装 MYSQL+APACHE+PHP

    一.MYSQL安装 下载MYSQL安装包:MySQL-client-XXX.rpm   MySQL-server-XXX.rpm   MySQL-devel-XXX.rpm 如有冲突,要先删除原来的M ...

  9. windows下配置lamp环境(1)---安装Apache服务器2.2.25

    window下lamp成为wamp; 安装wamp环境的第一步是安装Apache服务器.下面开始安装步骤图文并茂. 一.双击安装包点“next”进行下一步,然后同意协议(这张图没有截):

随机推荐

  1. ZOJ 2112 Dynamic Rankings(二分,树套树)

    动态区间询问kth,单点修改. 区间用线段树分解,线段树上每条线段存一颗平衡树. 不能直接得到kth,但是利用val和比val小的个数之间的单调性,二分值.log^3N. 修改则是一次logN*log ...

  2. 启动Jmeter时遇到的几种错误

    1.权限不够 解决办法:用管理员权限运行 2.sdk版本太低 解决办法:1)查看当前sdk版本:java -version 2)安装sdk1.7或以上版本(jmeter3.0版本要用sdk1.7及以上 ...

  3. PAT (Advanced Level) Practise - 1092. To Buy or Not to Buy (20)

    http://www.patest.cn/contests/pat-a-practise/1092 Eva would like to make a string of beads with her ...

  4. SummerVocation_Learning--java的String类方法总结

    壹: public char charAt(int index),返回字符串中第index个字符. public int length(), 返回字符串长度. public int indexOf(S ...

  5. XML字符串解析

    不多说,直接上代码: import java.io.StringReader; import org.dom4j.Document; import org.dom4j.DocumentExceptio ...

  6. 认识mysql(4)

    今日是MySQL的第四篇,难度会稍微加大,加油! 开始吧! 1.外键(foreign  key) 1.定义:让当前表字段的值在另一个表的范围内选择 2.语法: foreign key(参考字段名) r ...

  7. printf("\033[1;33m ***** \033[0m \n");

    printf("\033[1;33m Hello World. \033[0m \n"); 颜色如下: none = "\033[0m" black = &qu ...

  8. 使用Hbase快照将数据输出到互联网区测试环境的临时Hbase集群

    通过snapshot对内网测试环境Hbase生产集群的全量数据(包括原始数据和治理后数据)复制到互联网Hbase临时集群.工具及原理: 1)         Hbase自带镜像导出工具(snapsho ...

  9. cut(树形DP)

    Description F大爷热爱切树.今天他找到一棵黑白树,不到两秒钟,F大爷就把这棵树切掉了.已知原先树上共n个点,每个点都是黑点或者白点,F大爷切去若干条边后,分成的若干个连通子树中每块恰有一个 ...

  10. Android 适配器 自定义

    前言:最近看了几个开源项目,发现适配器这东西用的很多,一开始觉得这东西高大上,其实呢,感觉就是一个中转站,或者说是一个接口工具,将数据填充到一个视图中,几乎任何项目都会涉及到.所以今天也简单看了一下, ...