设为首页 收藏本站
开启辅助访问 快捷导航
菜单
猿人部落 主页 资讯 查看内容

liunx( centos 7.0) 环境配置(配置Nginx支持php

2019-7-23 03:40 发布者: 古田高山 评论 0 查看 1188
自己 租用了阿里云主机,筹划设置LA(T)MP情况(运转 java接口),设置LNMP(运转 PHP接口),Nginx作为代理 效劳 器,关于 静态资源乞求 ,代理 转发,并设置nginx+php-fpm负载平衡来处置惩罚静态 乞求 。媒介php+apache 和 php+nginx

自己 租用了阿里云主机,筹划设置LA(T)MP情况(运转 java接口),设置LNMP(运转 PHP接口),Nginx作为代理 效劳 器,关于 静态资源乞求 ,代理 转发,并设置nginx+php-fpm负载平衡来处置惩罚静态 乞求 。

媒介

php+apache 和 php+nginx的差别
Nginx+PHP与Apache+PHP功能 关于 比

不管 是静态照旧静态 内容,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使用 的影响.

效劳 器 参考:

NGINX:底子访问 把持 设置

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)

自己 情况是centos7 颠末 yum的体式格式 安装 的nginx(yum招致 不 与其余 步调一起 装正在 user/local/下)。
用systemctl status nginx.service 查察形状
systemctl start nginx.service 运转

否则 自己编写脚步实现
:service nginx restart 启动
ps -ef|grep nginx 查察运转 形状

注意,conf文件错误解 招致 启动失败

TOMCAT:

1、Web默认 目次:/usr/local/apache-tomcat-9.0.6/webapps
2、日记目次:/usr/local/apache-tomcat-9.0.6/logs如:/catalina.out
3、主步调文件:/usr/local/apache-tomcat-9.0.6
—————————————————————————————————————

数据库:

使用了MYSQL, PHP sql 处置惩罚上,不 雷同于 java mybatis,以是筹划设置 java mybatis作为DAO层的数据库连接 框架

—————————————————————————————————————

JDK与PHP+FPM:

设置JDK1.8+ Maven, Controller层接纳SpringMVC,Spring关于 Mybatis和 SpringMVC举行整合和 变乱管理
PHP 7+composer .TP框架

JDK设置参考

sudo vim /etc.profile 追加下面 的内容: export JAVA_HOME=/usr/lib/jvm/java-8-oracle export CLASSPATH=.:JAVA_HOME/lib:JAVA_HOME/jre/lib:CLASSPATH export PATH=JAVA_HOME/bin:JAVA_HOME/jre/bin:PATH
而后 实行下令使该设置文件收效(千万不 能遗忘 ): source /etc/profile

安装 PHP 7及干系依靠 linux安装 php7教程

按照 发起, 自己 效劳 器上php地位 :/usr/local/php-7.0.27
全副 php有关 扩展设置文件地位 :/usr/local/bin
牢记./configure编译阶段开启全副 必要的扩展,特别是fpm
记患上 引入用户组www,从而管理 PHP的权限

注意一个中央 就是php.ini设置文件的地位 可以正在 编译前设置参数中设置 ,编译参数可以写成:--with-config-file-path=/usr/local/php 多么 的话php就归去指定的目次下读取php.ini设置文件,假如不 加这个参数默认 地位 就是php安装 目次下的lib目次,详细也能够 正在 phpinfo()输入 界面查察,假如php.ini放到其余 地位 ,php读取不 到,那么全副 的设置修正 后都是不 收效的,这点要注意

FPM Linux下安装 php情况并且 设置Nginx支撑 php-fpm模块

PHP正在 5.3.3 之后曾经 经 经讲php-fpm写入php源码焦点了。以是曾经 经 经不 必要此外 下载了。我这里是7以是便可 以 够 直接用。要想使php支撑 php-fpm,只要 要正在 编译的时间带上 --enable-fpm 便可 以 够 了。由于我php曾经 经 经安装 好了,并且 畴前 编译的时间不 带上fpm情势 ,以是我必须 找到源码重新 编译一下:

make clean 清算一下
而后 ./configure -
着末 必须 实行:
makemake install

接下来 设置fpm情况:

//同样
寻常效劳
器默认

加载lib下的inicp php.ini-production /usr/local/php/lib/php.inicp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/lib/php-fpm.confcp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/lib/php-fpm.d/www.confcp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

启动: /etc/init.d/php-fpm
正在 新安装 扩展后,是必要重新 php-fpm的,曾经 经 使扩展收效。

php-fpm 封闭
:kill -INT `cat /usr/local/php/var/run/php-fpm.pid`php-fpm 重启:kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm和 nginx实现 通讯,实现 整集体 系的搭建设置Nginx的PHP FastCGI

设置Nginx的PHP FastCGI
fastcgi_params文件生存于/usr/local/nginx/conf下(Ubuntu可生存于/etc/nginx下)他为咱们 的FastCGI模块设置 了根本的情况变量:

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;fastcgi_param  SERVER_SOFTWARE    nginx;fastcgi_param  QUERY_STRING       $query_string;fastcgi_param  REQUEST_METHOD     $request_method;fastcgi_param  CONTENT_TYPE       $content_type;fastcgi_param  CONTENT_LENGTH     $content_length;fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;fastcgi_param  REQUEST_URI        $request_uri;fastcgi_param  DOCUMENT_URI       $document_uri;fastcgi_param  DOCUMENT_ROOT      $document_root;fastcgi_param  SERVER_PROTOCOL    $server_protocol;fastcgi_param  REMOTE_ADDR        $remote_addr;fastcgi_param  REMOTE_PORT        $remote_port;fastcgi_param  SERVER_ADDR        $server_addr;fastcgi_param  SERVER_PORT        $server_port;fastcgi_param  SERVER_NAME        $server_name;# PHP only, required if PHP was built with --enable-force-cgi-redirectfastcgi_param  REDIRECT_STATUS    200;

翻开 php设置文件找到cgi.fix_pathinfo设置项,这一项默认 被表明并且 值为1,依据 官方文档的阐明,这里为了当文件不 存正在 时,抑制 Nginx将乞求 发送到后端的PHP-FPM模块,从而制止恶意 脚本注入的冲击 ,以是此项该当 去失落 表明并设置 为0;多么 php-cgi方能失常 使用SCRIPT_FILENAME这个变量。

编纂 nginx设置文件,详细途径 依据 现实的nginx.conf设置文件地位 编纂 ,下面 紧张修正 nginx的server {}设置块中的内容,修正 location块,追加index.php让nginx效劳 器默认 支撑 index.php为首页:

location  /   {                root html;                index index.html index.htm index.php;}

而后 设置.php乞求 被传送到后端的php-fpm模块,默认 情况下php设置块是被表明的,此时去失落 表明并修正 成 如下 内容:

location ~* \.php${                root          html;                fastcgi_pass  127.0.0.1:9000;                fastcgi_index index.php;                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;                include             fastcgi_params;            }

这内里很多都是默认 的,root是设置php步调安排 的根目次,紧张修正 的就是fastcgi_param中的/scripts为$document_root

修正 完下面 的,回到nginx.conf第一行,默认 是#user nobody; 这里要去失落 表明改成 user www;表现nginx效劳 器的权限为www用户的权限

修正 完这些生存并加入 ,而后 重启nginx:

运转 ,并查察患上 现在nginx加载的是位于php/lib/下的php.ini:

颠末上诉设置,现在访问 80端口的php后缀的文件将会去/var/www/(nginx默认 web目次)下根究 婚配 php文件, 并颠末 9000访问 fcgi处置惩罚并管理 php步调。

访问 phpinfo.php


—————————————————————————————————————

NOSQL技艺 :

redis的使用
MQ
cronbin
—————————————————————————————————————

使用 场景

先后 端分别 开发,后端倾注于接口化开发。
JSP、EL、JSTL所带来的便当 性远远赶不 上现正在 前端的复杂性必要
故筹划html+js+jq+ajax+json


来源:https://www.jianshu.com/p/9bae5c49a163
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

路过

雷人

握手

鲜花

鸡蛋
收藏 邀请
上一篇:创业应该业务驱动还是技术驱动?(深度)|极客九剑下一篇:PHP | Linux下 PHP 安装和部署

相关阅读

一周热门

头条攻略!

日排行榜

相关分类