之前我们介绍过 lamp,lnmp 和 lamp 相比就是把 apache 换为了 nginx,nginx 也是目前比较流行的一款 web server, 在处理高并发请求上, 性能要远胜于 apache.apache 将 php 作为一个自己的一个扩展模块来使用, nginx 则结合一个独立的 php 服务.
1. 安装 mysql
- cd /usr/local/src
- wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
- tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
- mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
- cd /usr/local/mysql
- useradd mysql
- mkdir /data/
- ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
- cp support-files/my-default.cnf /etc/my.cnf
- cp support-files/mysql.server /etc/init.d/mysqld
- vi /etc/init.d/mysqld
定义 basedir 和 datadir
/etc/init.d/mysqld start
安装步骤跟 lamp 环境中一样
2 安装 php
(1). 下载 php 源码包
- cd /usr/local/src/
- wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
(2) 解压源码包, 创建用户
- tar zxf php-5.6.30.tar.gz
- useradd -s /sbin/nologin php-fpm
该用户用来运行 php-fpm 服务. 在 lnmp 环境中, php 是一个服务 php-fpm 的形式出现, 独立存在于系统当中.
(3) 配置编译选项.
- cd php-5.6.30
- ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-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 --with-pear --with-curl --with-openssl
和 lamp 中相比多了一个 --enable-fpm 的选项
(4) 编译和安装. 执行 make && make install
以上过程一般都会有错误要处理
解决办法: yum install -y libcurl-devel
这次没有碰到其他问题, 是因为之前我们在 lamp 环境中安装 php 时, 已经安装了大量的依赖库文件, 还有一点就是我们要用之前编译过我源码包的话, 要先进行
make clean 操作, 删除原先编译好的文件.
(5) 配置编辑配置文件, 拷贝启动脚本
vim /usr/local/php-fpm/etc/php-fpm.conf
写入以下下内容
- [global]
- pid = /usr/local/php-fpm/var/run/php-fpm.pid
- error_log = /usr/local/php-fpm/var/log/php-fpm.log
- [www]
- listen = /tmp/php-fcgi.sock
- listen.mode = 666
- user = php-fpm
- group = php-fpm
- pm = dynamic
- pm.max_children = 50
- pm.start_servers = 20
- pm.min_spare_servers = 5
- pm.max_spare_servers = 35
- pm.max_requests = 500
- rlimit_files = 1024
保存配置文件后
执行下
/usr/lcoal/php-fpm/sbin/php-fpm -t
检测配置时否正确
出现 test successful 说明配置无误
在刚才的 php 源码包中复制启动脚本
cp /usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
(6) 更改权限, 启动服务
- chmod 755 /etc/init.d/php-fpm
- /etc/init.d php-fpm start
或者
service php-fpm start
来源: http://www.bubuko.com/infodetail-2572841.html