LNMP编译安装 by杨坤 2015-1-20

回复 收藏
一,安装MySQL 5.1.73
1.下载免编译mysql 5.1.73
[root@www ~]# cd /usr/local/src
[root@www src]# wget http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz     ##64位
[root@www src]# wget http://cdn.mysql.com/Downloads/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz     ##32位
2.建立Mysql帐号
首先以root身份登录到Linux系统,然后执行如下命令创建mysql组及用户:
[root@www ~]# useradd -s /sbin/nologin -M mysql

将免编译二进制包解压之后,移动到/usr/local下并改名为mysql,即现在路径在/usr/local/mysql/.
[root@www ~]# mv /usr/local/src/mysql-5.1.73-linux-i686-glibc23 /usr/local/mysql

3.创建一个目录/data/mysql,将该目录的属主属组改为mysql.将my-huge.cnf复制为/etc/my.cnf
[root@www mysql]# chown -R mysql.mysql /data/mysql

[root@www mysql]# cp support-files/my-huge.cnf /etc/my.cnf

4.将mysql.server拷贝到init.d下并改名为mysqld.并且给他755权限
[root@www mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@www mysql]# chmod 755 /etc/init.d/mysqld
[root@www mysql]# vim !$

basedir=/usr/local/mysql
datadir=/data/mysql



5.初始化

[root@www mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

[root@www mysql]# ls /data/mysql
mysql  mysql-bin.000001  mysql-bin.000002  mysql-bin.index  test

6.启动mysql
[root@www mysql]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!

[root@www mysql]# ps aux |grep mysql
root      1889  0.0  0.0 106060  1484 pts/0    S    00:34   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/www.pid
mysql     2013  0.0  1.7 543920 68288 pts/0    Sl   00:34   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --log-error=/data/mysql/www.err --pid-file=/data/mysql/www.pid --socket=/tmp/mysql.sock --port=3306
root      2028  0.0  0.0 103248   876 pts/0    S+   00:35   0:00 grep mysql

#chkconfig --add mysqld
#chkconfig mysqld on


二,PHP 5.3.29的编译安装


1.下载PHP5.2.29的源码包
[root@www ~]# cd /usr/local/src
[root@KevinLinux src]# wget http://mirrors.sohu.com/php/php-5.3.29.tar.gz
[root@KevinLinux src]# tar xf php-5.3.29.tar.gz

2.创建php用户
[root@KevinLinux ~]# useradd -s /sbin/nologin -M mysql

3.安装php前的准备:
[root@www ~]# rpm -qa zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel pcre-devel
[root@www ~]# yum install -y zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel pcre-devel

epel yum源问题
[root@KevinLinux /]# rpm -ivh 'http://www.lishiming.net/data/attachment/forum/epel-release-6-8_64.noarch.rpm'     ##CentOS6 64位
[root@KevinLinux /]# rpm -ivh 'http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm'     ##CentOS6 32位
4.编译安装PHP 5.3.29
[root@KevinLinux src]# cd /usr/local/src/php-5.3.29

[root@KevinLinux php-5.3.29]# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-group=php-fpm \
--with-mysql=/usr/local/mysql \
--with-mysql-sock=/tmp/mysql.sock \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-ftp \
--enable-mbstring \
--enable-exif \
--enable-zend-multibyte \
--disable-ipv6 \
--with-pear \
--with-curl

#make && make install

4.拷贝PHP和php-fpm的配置文件

[root@KevinLinux ~]# cd /usr/local/src/php-5.3.29
[root@KevinLinux php-5.3.29]# cp php.ini-production /usr/local/php/etc/php.ini
[root@KevinLinux php-5.3.29]# cd /usr/local/php/etc
[root@KevinLinux etc]# cp php-fpm.conf.default php-fpm.conf
5.拷贝启动脚本10
[root@KevinLinux etc]#cp /usr/local/src/php-5.3.29/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

6.给PHP启动脚本755权限
[root@KevinLinux etc]# chmod 755 /etc/init.d/php-fpm
#chkconfig --add php-fpm
#chkconfig php-fpm on

三,编译安装nginx
1.下载nginx 1.6.2的源码包
[root@www ~]# cd /usr/local/src
[root@KevinLinux src]# wget http://nginx.org/download/nginx-1.6.2.tar.gz
[root@KevinLinux src]# tar xf nginx-1.6.2.tar.gz

2.编译安装nginx 1.6.2
[root@KevinLinux src]#cd nginx-1.6.2
[root@KevinLinux nginx-1.6.2]# ./configure \
--prefix-/usr/local/nginx \
--with-pcre

3.启动nginx:
[root@KevinLinux ~]# /usr/local/nginx/sbin/nginx

4.重新加载nginx:
[root@KevinLinux ~]# /usr/local/nginx/sbin/nginx -s reload


[root@KevinLinux ~]# /usr/local/nginx/sbin/nginx -t     ##检查nginx.conf文件是否正确,可以-c指定配置文件
[root@KevinLinux ~]# /usr/local/nginx/sbin/nginx -v     ##查看nginx版本
[root@KevinLinux ~]# /usr/local/nginx/sbin/nginx -V     ##查看nginx版本及编译参数
[root@KevinLinux ~]# cat /usr/local/nginx/logs/nginx.pid     ##查看nginx的pid


Nginx 对进程控制能力很强大,可以通过信号指令控制进程  
QUIT :表示处理完当前请求后,关闭进程  
HUP  :表示重新加载配置,即关闭原有进程并开启新的工作进程。此操作不会中断用户访问请求( 平滑重启 Nginx )  
USR1 :用于 Nginx 的日志切换,即重新打开一个日志文件,如每天生成一个新的日志文件时,可以使用此信号控制  
USR2 :用于平滑升级可执行程序  
  
[root@localhost ~]# kill 1269  # 关闭 Nginx  
[root@localhost ~]# kill -QUIT 1269  # 关闭 Nginx  
[root@localhost ~]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`  # 平滑重启 Nginx
2015-01-20 15:19 举报
已邀请:
0

大自然

赞同来自:

坤哥辛苦、V5

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: