家里的系统由centos6换成linuxmint(实在是好用才换)了, 重新配置好samba后,发现里面的一个软链接到pt下载目录的目录不能访问。
测试半天,chcon, chmod, chown,不行,仔细一想,应该是samba下软链接支持问题了,google后,解决,方案如下, 在smb.conf增加以下三行
技术面前,永远都是学生。
家里的系统由centos6换成linuxmint(实在是好用才换)了, 重新配置好samba后,发现里面的一个软链接到pt下载目录的目录不能访问。
测试半天,chcon, chmod, chown,不行,仔细一想,应该是samba下软链接支持问题了,google后,解决,方案如下, 在smb.conf增加以下三行
samba 服务可以实现 windows 和 linux 的文件共享,配置不难,使用也非常简单。
安装系统的时候大多会默认安装 samba ,如果没有安装,在 centos 上只需要运行
|
|
这个文件必须命名为’’php.ini’’并放置在httpd.conf中的PHPIniDir指令指定的目录中。
最新版本的php.ini可以在下面两个位置查看:
http://cvs.php.net/viewvc.cgi/php-src/php.ini-recommended?view=co
|
|
PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置。
|
|
|
|
php 和 apapche 类似,核心文件为 /usr/local/php/bin/php ,针对 apache 的是 /usr/local/apache2/modules/libphp5.so 模块。这两个文件是核心,在编译 php 的时候会提前让它支持一些功能,比如支持 mysql,这个功能其实是 php 的一个模块,只不过这个模块是直接和 php 或者 libphp5.so 文件编译在一起的。当我们编译完成 php 后,发现还需要让 php 支持另外的模块,这时候可以重新编译 php ,加上配置参数,或者直接编译出一个独立的模块文件。然后让 php去调用它。下面以编译 memcache 为例;
这几个概念是在学习lamp、lnmp架构中我们遇到的。好多同学对这几个概念一直不明白。下面内容希望能帮助到到家,其中一些内容参考网上的文章。
在web开发领域中有个大概念大家必须要搞清楚,那就是静态和动态。静态就是一些诸如html、图片、js、css等请求元素,它们的特点是不需要和其他资源(比如数据库)打交道,可以直接由web server(httpd、nginx等)处理。如下图:
而动态则是需要和数据库等资源打交道的请求,在lamp/lnmp架构中,需要一个中间件(PHP解释器)去解析php代码,然后和mysql数据库打交道。如图:
当Web Server收到 index.php 这个请求后,会启动对应的 CGI 程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程,Web server再把结果返回给浏览器。这就是一个完整的动态PHP Web访问流程,接下来再引出这些概念,就好理解多了。
再来解释几个概念:
CGI:是 Web Server 与 Web Application 之间数据交换的一种协议。
FastCGI:同 CGI,是一种通信协议,但比 CGI 在效率上做了一些优化。同样,SCGI 协议与 FastCGI 类似。
PHP-CGI:是 PHP (Web Application)对 Web Server 提供的 CGI 协议的接口程序。
PHP-FPM:是 PHP(Web Application)对 Web Server 提供的 FastCGI 协议的接口程序,额外还提供了相对智能一些任务管理。
WEB 中,Web Server 一般指Apache、Nginx、IIS、Lighttpd、Tomcat等服务器,Web Application 一般指PHP、Java、Asp.net等应用程序。
在这里还要了解另外一种方式 —— Apache的Module方式。 lamp架构中,php是以一个模块(libphp5.so)的方式被httpd调用的,这个模块是通过sapi把数据交给了php的解释器。
SAPI提供了一个和外部通信的接口,有点类似于socket,使得PHP可以和其他应用进行交互数据(apache,nginx等)。php默认提供了很多种SAPI,常见的提供给apache和nginx的php5_module、CGI、FastCGI,给IIS的ISAPI,以及Shell的CLI。
最后再来说一说,FastCGI为什么比CGI优秀。
不管是CGI还是FastCGI都是专门用来和WEB服务器打交道的,web服务器收到用户请求,就会把请求提交给cgi/fastcgi程序(如php-cgi),cgi/fastcgi程序根据请求提交的参数作应处理(解析php),然后输出标准的html语句,返回给web服服务器,WEB服务器再返回给客户端,这就是普通cgi/fastcgi的工作原理。
cgi和fastcgi不同在于,cgi需要在每一次WEB服务器把请求交给它时都需要启动一次进程,然后处理结束后还要关闭进程。这样当并发量很大时,就会造成服务器资源耗费严重。而fastcgi则为常驻进程,也就是说进程启动后会一直在线,不用频繁开启和关闭。另外fastcgi还支持分布式,也就是说可以支持在web服务器外的其他服务器上运行,通过tcp传输数据。
架构是 LAMP , 上传文件的操作,并没有连接mysql,但是却使用了php资源,所以修改设置,不仅要设置apache还要设置php.ini