centos编译安装lamp
卸载php查看是否有php
rpm -qa | grep php
卸载
yum remove php*
查看有没有php.ini的配置文件
有必要在全局下(根目录)搜索下 php.*文件,看还有没有,有则删除
卸载 mysql
查看是否有 mysql软件:
rpm -qa | grep mysql
如果有
yum remove mysql* compat-mysql
rm -rf /var/lib/mysql
rm /etc/my.cnf
再有必要在全局下(根目录)搜索下 my.*文件,看还有没有,有则删除
find . -name my.*
卸载 apache,在根目录下查找 httpd
find . -name httpd
关闭 httpd服务
/路径/httpd stop
列出httpd 相关程序包
rpm -qa|grep httpd
卸载包
rpm -e --nodeps httpd
关闭 iptables 和 SELINUX
service iptables stop
vim /etc/sysconfig/selinux
然后,修改
SELINUX=disable
上面是为安装作准备
下面是真正的安装的开始
由于linux的关系,每个软件都有一个默认的安装路径,
如:/usr/local,一般都安装在这里,此为安装的路径前,
可以通过软件的
./configure --help #查看
如果要修改安装路径,则可以
--prefix=路径
来修改,这里都用默认的,不用修改,方便查看
源码安装 mysql
安装选择的是 Source Code平台的
下载版本为 mysql-5.6.23.tar.gz
此版本要自己亲自编译,所以最好不过了
安装编译源码所需的工具和库
yum install gcc gcc-c++ ncurses-devel perl curses
其中,一般要安装两种包,类似: pcre和pcre-devel
pcre提供编译版本的库,
pcre-devel提供开发阶段的头文件和编译项目的源代码,
所以是我们所需要的
安装cmake,从http://www.cmake.org下载源码并编译安装
为了方便,把 cmake-NN.tar.gz复制到 /usr/local里
tar -xzvf cmake-NN.tar.gz
cd cmake-NN
./bootstrap
make && make install
编译安装,根据官网
设置MySQL用户和组
新增mysql用户组
groupadd mysql
新增mysql用户
useradd -r -g mysql mysql
解压 mysql压缩包,此时方法,我把压缩包放在 /usr/local里
tar zxvf mysql-VERSION.tar.gz
cd mysql-VERSION
用cmake编译和安装
cmake .# 此时有可能提示 ncurses-devel 没有安装,重新 yum install ncurses-devel
make && make install
修改mysql目录所有者和组
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
初始化mysql数据库
scripts/mysql_install_db --user=mysql
修改mysql数据库文件目录
chown -R root .
chown -R mysql data
设置安全
bin/mysqld_safe --user=mysql &
复制mysql服务启动配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
复制mysql服务启动脚本及加入PATH路径
cp support-files/mysql.server /etc/init.d/mysqld
用vim打开
vim /etc/profile
添加如下内容:
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
保存退出,然后
source /etc/profile
启动mysql服务
service mysqld start
启动 mysql命令登陆
ln -s /usr/local/mysql/bin/mysql /usr/bin #做个链接即可
此时,可以登陆数据库
mysql -h localhost -u root -p
密码为空
然后可以修理那些用户名
如删除危险的,设置密码...
设置密码(123456)如下
update user set Password=password('123456') where Host='localhost';
刷新权限
flush privileges;
可能会出现的错误:
Starting MySQL..The server quit without updating PID file (/mysql/Server03.mylinux.com.pid).
解决:先删除 /etc/my.cnf文件,然后
再从上面步骤中的
scripts/mysql_install_db --user=mysql
即可
如果还是不行,直接查看这个文件,一般提示就是内存不足,此时可通过增加 swap来实现,
具体方法参考:http://www.iyunv.com/lin3615/p/4666788.html
此时mysql安装成功,lamp,lnmp都用这种方式安装 mysql
以下安装 apache-2.2.XX
可参考官网手册
此安装为httpd-2.2.29.tar.gz,为了方便和官网的示例一样,
用 httpd-2_x_NN.tar.gz表示
如果没有安装 pcre,apr,apr-util (用yy表示),则
yum install yy yy yy
安装 apache
tar -zxvf httpd-2_x_NN.tar.gz
cd httpd-2_x_NN
./configure --enable-so #如果还是无法检测到 apr..则 yum install apr*
make && make install
以上每一步都要成功,不然后面的步骤没有用,
如果顺利,以上的表示的apache安装成功了
启动 apache
/usr/local/apache2/bin/apachectl start
如果有错误提示,如
Could not reliably determine the server's fully qualified domain name,
using localhost.localdomain for ServerName
则修改 httpd.conf,
ServerName www.example.com:80 #前面的 "#"去掉,重启 apache
如果成功,则停止 apache服务器并继续安装 PHP
/usr/local/apache2/bin/apachectl stop
以下安装 apache下的 php
用的是 php-5.5.23,为了方便和手册一样,用 php-VERSION.tar.gz表示
首先安装相关的开发工具
yum install libxml2-devel gd-devel libmcrypt-devel libcurl-devel openssl-devel
从官方下载,解压
tar -xvf php-VERSION.tar.gz
cd php-VERSION
编译安装,首先查下参数的格式有没有问题,如果有,则修改,如下查看
./configure --help
接着安装,其中
--with-apxs2=/..../apxs,一定要查看是不是在该目录中的
是不是这样的命令,如果不是,则修改为和该目录下的名称一样,
选项目的是使apache和php用的是同一个版本的apxs工具,
不然会出错
如果编译时提示,xx或xx.h不在存在之类的,直接可用
yum -y install xx xx-devel #安装相当的编译工具
以下为编译安装的参数,根据自己的需要设置
./configure--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql --with-mysqli --enable-calendar \
--enable-mbstring --enable-soap --enable-sockets \
--enable-zip --with-gd --enable-ftp \
--enable-libxml --with-curl \
--with-openssl --with-mcrypt=/usr/local/lib
其中的确 mcrypt可能要安装别的文件来完成
如果提示需要,编译这些时,则可下载
libmcrypt(libmcrypt-2.5.8.tar.gz ):
mcrypt(mcrypt-2.6.8.tar.gz ):
mhash(mhash-0.9.9.9.tar.gz ):
先安装 libmcrypt,再mhash,最后才mcrypt
步骤基本是 解压,安装,如
tar -zxvf xxxx.gz.gz
cd xxxx
./configure
make && make install
当安装 mcrypt时,会提示 by modifying LD_LIBRARY_PATH,
则用以下方式指定
LD_LIBRARY_PATH=/usr/local/lib ./configure
make && make install
接着安装
make && make install
cp php.ini-production /usr/local/lib/php.ini #配置文件路径
在 apache 配置文件 httpd.conf 中添加
LoadModule php5_module modules/libphp5.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
检查有没有在该目录下生成了 libphp5.so文件
上面那行可能在编译安装 php 的过程中已经由系统自动添加了,
如果添加了,就不用再添加了,作用是增加php的支持和作为模块运行php
重启apache即可
当安装好 apache时,得用一边串长长的 apachectl来启动 apache,
可以把 apache 加入到 service中,然后直接用 service httpd start来启动,
解方法如下:
cd /usr/local/apache2/bin/ #进入到 apachectl脚本所在位置
cp apachectl /etc/rc.d/init.d/httpd #复制脚本
用vim打开
vim /etc/rc.d/init.d/httpd
在 #!/bin/sh下面增加
#chkconfig: 2345 50 90
#description:Activates/Deactivates Apache Web Server
保存退出
当用 php中的程序 mysql_connect('localhost')无法连接时,切换到 ip连接
要使用 localhost连接时,在php.ini中的找到
mysql.default_socket=...
修改为
mysql.default_socket=/绝对路径/mysql.sock
后面的 mysql.sock的绝对路径,可以搜索这个文件的路径
然后要重启系统(为保险起见)
------------------------------
http://blog.iyunv.com/liruxing1715/article/details/8269563
安装 memecached:
安装 libevent.zz
tar-zxvf libevent.zz
./configure
make && make install
安装 memcached 官网下载
tar -zxvf memcached-version.tar.gz
cd memcached-version
./configure –with-libevent=/usr/local#指定libevent位置
make
make install
查看 /usr/local/bin,是否生成了 memcached 文件
如果有,则表示,成功安装
以只是在服务器上面安装的 memcached
让php扩展,使PHP支持操作 memcached,相当于客户端
安装 libmemcached
tar-zxvf libmemcached-version.xx
./configure --with-memcached
make && make install
开启 PHP 的 memcached 扩展
cd memcached-Version
phpize#生成 configure
./configure
make && make install
会提示生成类似如下的提示
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20121212/
在里面生成了一个 memcached.so文件,把这个文件复制到
cp/usr/local/lib/php/extensions/no-debug-non-zts-20121212/memcached.so /usr/local/lib/
在 php.ini中加入
extension=memcached.so
启动Memcache的服务器端
/usr/local/bin/memcached -d -m 10 -u root -P /tmp/memcached.pid
或者
/usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
如果要杀死该memcached进程,以便重新启动
kill `cat /tmp/memcached.pid` #指定进程的文件路径和名称
再用 php程序去连接,测试下
------------------------------------
页:
[1]