本人租用了阿里云主机,打算配置LA(T)MP环境(运行java接口),配置LNMP(运行PHP接口),Nginx作为代理服务器,对静态资源请求,代理转发,并配置nginx+php-fpm负载均衡来处理动态请求。
前言
无论是静态还是动态内容,Apache都可以处理,Apache具有内置的解析和执行各种动态脚本语言(包括PHP,Python和Perl)的功能,无需借助外部处理器。动态内容处理恐怕是Nginx的痛点。Nginx处理动态内容的效率并不高,且需借助外部的处理器。
FPM 是一个 PHP 进程管理, 安装PHP前要明白nginx和PHP之间的通信方式是fastcgi,nginx中不能直接运行php文件,只能通过调用外部CGI处理器运行php文件,例如php-fpm。而php-fpm提供了对fastcgi进程管理的工具,安装php时要编译安装php-fpm.
选择web服务器nginx理由
本来是想配置apche+tomcat+nginx的,但是最终还是选择了nginx+fpm, 放弃apche, 主要考虑以下几点:(如果以后有需求再用nginx反代apche.)
Nginx+PHP-FPM实现了动静分离,负载均衡,故障转移,在高并发场景确实要比Apache有优势.
内置PHP模块的Apache进程在处理PHP时就无法处理静态资源,而Nginx则不需要担心这个问题,因为处理PHP是PHP-FPM的事,这就是动静分离.而且Nginx支持upstream配置PHP-FPM集群实现负载均衡,这点也是Apache不擅长的.
PHP-FPM配合Nginx还可以把I/O密集操作分离出来,减少阻塞对整个PHP应用的影响.
服务器 参考:
1、服务地址:/etc/init.d/nginx
2、配置地址:/etc/nginx/如:/etc/nginx/nginx.conf
3、Web默认目录:/usr/share/nginx/html/如:/usr/share/nginx/html/index.html
4、日志目录:/var/log/nginx/如:/var/log/nginx/access.log
5、主程序文件:/usr/sbin/nginx
使用root安装完软件后,默认的网站根目录是/usr/share/nginx/html
(一般修改配置至/var/www)