|
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 ([FAILED]/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
以下安装 nginx
安装编译工具
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
yum install openssl
yum install openssl-devel
yum install zlib
yum install zlib-devel
yum install pcre
yum install pcre-devel
安装 nginx开始,先复制压缩包到 /usr/local
tar -zxvf nginx-version.
cd nginx-varsion
./configure
make && make install
如果有问题,可以换个版本用
启动nginx
/usr/local/nginx/sbin/nginx
关闭 nginx
/usr/local/nginx/sbin/nginx -s stop
nginx下安装 php
tar -zxvf php-version.tar.gz
cd php-version
./configure --enable-fpm --with-mysql \
--with-mysqli --with-fpm-user=用户名 \
--with-fpm-group=用户组名 --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 \
--with-config-file-path = /usr/local/php/php.ini
编译安装
make && make install
其中 --with-config-file-path 指定 php.ini路径,如果加上了,
在启动时就不用加上这个路径
如果提示没有哪个,就分别yum 或者 编译安装
其中的确 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
复制文件到指定的位置
cp php.ini-production /usr/local/php/php.ini #配置文件路径
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin
打开 php.ini
vim /usr/local/php/php.ini
定位到 cgi.fix_pathinfo= 并将其修改为如下
cgi.fix_pathinfo=0
打开 php-fpm.conf文件
vim /usr/local/etc/php-fpm.conf
查看
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
user = xxxx
group = xxxx
如果用户和组不存在,增加一个存在,或在 系统中用 useradd, groupadd 增加
启动 php-fpm 时,得加上 php.ini的路径(可以先查看 php-fpm文件在哪里),
每次启动时,一定得加上,不然用不到这里的配置文件
php-fpm -c /usr/local/php/php.ini
如果在编译时加入了 --with-config-file-path参数,则直接用
php-fpm
不用再加上后面的参数
如果出现 9000占用
killall php-fpm
然后重启
php-fpm -c /usr/local/php/php.ini
配置nginx,使其支持 php(一定要检查路径)
vim /usr/local/nginx/conf/nginx.conf
接下来,参考php手册即可
修改默认的 location 块,使其支持 .php 文件
location / {
root html;
index index.php index.html index.htm;
}
下一步配置来保证对于 .php 文件的请求将被传送到后端的
PHP-FPM 模块, 取消默认的 PHP 配置块的注释,
并修改为下面的内容
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
重启 Nginx
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
为了能够实现重启php,
设置 php-fpm.conf中的参数,开启pid的位置
;pid=run/php-fpm.pid
修改为
pid=run/php-fpm.pid
然后可以先停止 php,其中 php-fpm.pid的路径要正确
kill -INT `cat /usr/local/php/run/php-fpm.pid`
启动 php
php-fpm -c /usr/local/php/php.ini
|
|
|