lnmp编译安装

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.cnblogs.com/lin3615/p/4666788.html此时mysql安装成功,lamp,lnmp都用这种方式安装 m如下安装 nginxphp

安装编译工具 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 结合官网加上对应的参数,如 --prefix=/usr/local/nginx --with-http_ssl_module (支持 ssl) 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 --enable-pcntl --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --enable-session --enable-gd-native-ttf --with-iconv --with-zlib --with-xml 编译安装 make && make install 其中 --with-config-file-path 指定 php.ini路径,若是加上了, 在启动时就不用加上这个路径 若是提示没有哪一个,就分别yum 或者 编译安装 enable-pcntl 参数支持多进程, with-freetype-dir 支持图片验码,要单独安装freetype with-jpeg-dir with-png-dir 有可能会报错,直接安装 对应的包 yum install libjpeg* libpng* 便可 其中的确 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 

设置开机自启动 nginx,php-fpm, mysql及修改系统最大链接数,默认为1024html

vim /etc/rc.local
ulimit -SHn 65535 #永久开户修改最大文件数
/usr/local/nginx/sbin/nginx   #nginx脚本所在的绝对路径
/usr/local/bin/php-fpm -c /usr/local/php/php.ini  #php-fpm和 php.ini的绝对路径node

而后用 chkconfig --level 2345 mysqld on 开启 mysql,可用chkconfig --list 查看 mysqld状态mysql

相关文章
相关标签/搜索