本文共 4059 字,大约阅读时间需要 13 分钟。
软件
Nginx、MySQL、PHP、PHPMyAdmin、Apache(可选)、Zend Optimizer(可选)、eAccelerator(可选)、ionCube(可选)、PureFTPd(可选)、VsFTPd(可选)Nginx直接处理静态请求,动态请求会转发给php-fpm
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/mysqluseradd mysql //添加mysql用户
mkdir /data/ //创建数据目录./scripts/mysql_install_db --user=mysql --datadir=/data/mysql //初始化数据库cp support-files/my-default.cnf /etc/my.cnf //拷贝mysql配置文件
cp support-files/mysql.server /etc/init.d/mysqld //拷贝启动脚本 vim /etc/init.d/mysqld定义basedir和datadir /etc/init.d/mysqld start
添加到自启动
chmod 755 /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on
axel http://mirrors.sohu.com/php/php-7.1.10.tar.bz2
//下载源码包
[root@localhost ~]# tar xjvf php-7.1.10.tar.bz2
//解压php安装包
[root@localhost ~]# cd php-7.1.10[root@localhost php-7.1.10]# ./configure \ //个性化配置--prefix=/usr/local/php \--with-mysql-sock=/usr/local/mysql/mysql.sock \--with-mysqli \--with-zlib \--with-curl \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-openssl \--enable-mbstring \--enable-xml \--enable-session \--enable-ftp \--enable-pdo \--enable-tokenizer \--enable-zip \ //支持压缩功能--enable-fpm //支持动态页面fpm功能
(注意:由于内容较多,一定要检查最后是否漏掉,特别是最后一项)
[root@localhost php-7.1.10]# make //编译[root@localhost php-7.1.10]# make install //安装
[root@localhost php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini //创建php配置文件[root@localhost php-7.1.10]# vi /usr/local/php/lib/php.ini //编译php配置文件修改以下内容:mysqli.default_socket = /usr/local/mysql/mysql.sock //将php与Mysql关联date.timezone = Asia/Shanghai //设置时区保存退出[root@localhost php-7.1.10]# /usr/local/php/bin/php –m //验证安装的模块
[root@localhost php-7.1.10]# cd /usr/local/php/etc/[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf //复制php的fpm模块的配置文件模板为配置文件。php只识别php-fpm.conf为配置文件[root@localhost etc]# cd php-fpm.d [root@localhost php-fpm.d]# cp www.conf.default www.conf //复制fpm的www配置文件模板为配置文件,fpm只识别www.conf的配置文件[root@localhost php-fpm.d]# cd .. //返回上一层目录[root@localhost etc]# vi php-fpm.conf //配置fpm模块修改以下内容:pid = run/php-fpm.pid //分号去掉;user = nginx //添加两行;group = nginx
[root@localhost etc]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini //启动fpm模块 [root@localhost etc]# netstat -anpt | grep 9000 //查看9000端口运行状态(php-fpm运行在9000端口)[root@localhost etc]# ln -s /usr/local/php/bin/* /usr/local/bin/ //将php的可执行程序放到系统可识别环境中便于执行[root@localhost etc]# ps aux | grep -c "php-fpm" //统计进程数
让fpm模块也可进行系统启动管理
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod 755 /etc/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on service php-fpm start ps aux |grep php-fpm
Nginx官网 nginx.org,最新版1.13,最新稳定版1.12
Nginx应用场景:web服务、反向代理、负载均衡Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些定制化模块,在安全限速方面表现突出,另外它支持对js,css合并Nginx核心+lua相关的组件和模块组成了一个支持lua的高性能web容器openresty,参考http://jinnianshilongnian.iteye.com/blog/2280928Nginx为什么比Apache Httpd高效:原理篇
apache和nginx工作原理比较 mod_php 和 mod_fastcgi以及php-fpm的比较 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM转载于:https://blog.51cto.com/235571/2122602