windows下 php环境部署 nginx+php-nts+fcgi
部署前准备
1.apache2.4 nginx/Windows-1.11.8 下载网站
2.php5.5.38 php-5.5.38-Win32-VC11-x64.zip 下载网站 更多版本下载地址
php线程安全 和 非线程安全 的区别 TS和NTS的区别
TS:Thread Safe 线程安全, 执行时会进行线程(Thread)安全检查
NTS:Non Thread Safe 非线程安全, 在执行时不进行线程(Thread)安全检查
安装步骤
1.解压NGINX和PHP到你自己安装位置。这里我在C盘新建一个文件夹:www,把下面的软件安装到这个文件夹里面。
NGINX目录C:\www\tools\nginx-1.10.2
PHP目录C:\www\tools\php-5.6.29-nts-Win32-VC11-x64
2.打开C:\nginx目录,运行该文件夹下的nginx.exe
3.测试是否启动nginx。打开浏览器访问http://localhost 或 http://127.0.0.1,看看是否出现“Welcome to nginx!”,出现的证明已经启动成功了。没有启动的话,看看80端口有占用没。
注意:该网站的默认目录在“C:\www\tools\nginx-1.10.2\htm”l下
PHP配置步骤
1.将C:\www\tools\php-5.6.29-nts-Win32-VC11-x64\php.ini-production 复制一份,并重命名为php.ini;
2.用记事本打开C:\www\tools\php-5.6.29-nts-Win32-VC11-x64\php.ini将; extension_dir = "ext"修改为 extension_dir = "ext" (去掉extension前面的分号)
3.将;extension=php_mbstring.dll 修改为 extension=php_mbstring.dll(去掉extension前面的分号,这是php多字节字符串扩展) 需要用到的ext都可以开起来
extension=php_bz2.dll extension=php_curl.dll ;extension=php_fileinfo.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll ;extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ;extension=php_pdo_sqlsrv_55_ts.dll ; The MIBS data available in the PHP distribution must be installed. ; See http://www.php.net/manual/en/snmp.installation.php ;extension=php_snmp.dll ;extension=php_soap.dll ;extension=php_sockets.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll extension=php_xsl.dll
其他设置
4.时间 搜索“date.timezone”,找到:;date.timezone = 先去前面的分号再改为 date.timezone = PRC
测试
date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海 date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆” date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”
5.搜索“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0
; PHP页面的根路径, 只有非空时有效.
; 如果PHP没有使用FORCE_REDIRECT来编译, 如果你将php作为CGI运行在任何web服务器下(除了IIS)的话,你必须设置doc_root
; 针对安全问题查看文档. 一种替代方案是使用下面的cgi.force_redirect
doc_root =
; 在绝大多数web服务器下,cgi.force_redirect 对于提供安全执行PHP作为CGI来说是很有必要的.
; 没有配置的情况下,PHP会默认打开此项.
; 你可以在这里关闭此项并且自己承担风险
; **你可以在IIS安全的关闭此项,事实上,你必须关闭此项.**
; cgi.force_redirect = 1
; 如果 cgi.nph 被打开,就会强制CGI在每个请求时发送Status: 200.
; cgi.nph = 1
; 如果cgi.force_redirect被打开,并且你没有在Apache或者Netscape(iPlanet) web服务器下运行,
; 你也许需要设置一个环境变量名让PHP来查找让其可以获取后继续执行. 设置此变量可能引起安全问题, 在设置之前请先了解可能引起的后果.
6.设置上传文件大小
表单post提交最大内容4G
post_max_size = 4096M
设置最大上传文件大小
upload_max_filesize = 1024M
7.开启代码加速
1、打开php.ini文件
2、找到:[opcache],设置为:
[opcache] ; dll地址 zend_extension=php_opcache.dll ; 开关打开 opcache.enable=1 ; 开启CLI opcache.enable_cli=1 ; 可用内存, 酌情而定, 单位为:Mb opcache.memory_consumption=528 ; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB) opcache.interned_strings_buffer=8 ; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值 opcache.max_accelerated_files=10000 ; Opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 定位为秒 opcache.revalidate_freq=1 ; 打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高 opcache.fast_shutdown=1