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以下安装 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 结合官网加上对应的参数,如 --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及修改系统最大连接数,默认为1024
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的绝对路径
然后用 chkconfig --level 2345 mysqld on 开启 mysql,可用chkconfig --list 查看 mysqld状态