Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定、低系统资源消耗而闻名。近几年Nginx在国内已经成炙热化状态,比如像腾讯、网易、51CTO、迅雷、当当网、51、人人网等诸多大型网站都已经使用Nginx来做Web服务器,所以学习Nginx还是非常有必要的。
1.准备安装包
下载Nginx、MySQL和PHP的程序包,相关资源地址列表如下:
Nginx
http://nginx.org/en/download.html
MySQL
http://www.mysql.com/downloads/
PHP
http://windows.php.net/download/
2.安装部署
安装php
解压php-5.4.8-nts-Win32-VC9-x86.zip 到D:\server\php
Windows下 隐藏DOS命令行窗口的程序。RunHiddenConsole.exe 是一个用来隐藏 DOS 窗口的小程序
解压RunHiddenConsole.zip ,复制RunHiddenConsole.exe到D:\server\php
重命名php目录下的php.ini-development 为php.ini,用编辑器打开此文件(最好不要用记事本打开),此文件为PHP配置文件。
查找定位至:; extension_dir = "./" ,将前面的分号去掉并修改为:extension_dir = "E:/DedeCMS/PHP5/ext"
查找定位至:;extension=php_gd2.dll,将前面的分号去掉为:extension=php_gd2.dll
查找定位至:;extension=php_mbstring.dll,将前面的分号去掉为:extension=php_mbstring.dll
查找定位至:;extension=php_mysql.dll,将前面的分号去掉为:extension=php_mysql.dll
查找定位至:;extension=php_mysqli.dll,将前面的分号去掉为:extension=php_mysqli.dll
查找定位至:;extension=php_pdo_mysql.dll,将前面的分号去掉为:extension=php_pdo_mysql.dll
查找定位至:;cgi.force_redirect = 1,将前面的分号去掉为:cgi.force_redirect = 1
查找定位至:;cgi.fix_pathinfo=1,将前面的分号去掉为:cgi.fix_pathinfo=1
查找定位至:;cgi.rfc2616_headers = 0,将前面的分号去掉为:cgi.rfc2616_headers = 1
启动php-cgi
D:\server\php>RunHiddenConsole.exe php-cgi.exe -b 127.0.0.1:9000 -c D:\server\php\php.ini
使用命令
D:\server\php>netstat -a
出现
TCP 127.0.0.1:9000 HongJunWen-PC:0 LISTENING
说明php-cgi启动成功。
安装MySQL5.5
MySQL安装:双击安装包进入安装环境界面,选择“Install MySQL Products”
选择“I accept the license terms”,再选择“Next”按钮继续安装(如图9)。
选择“Skip the check for updates(not recommanded)”,再选择“Next”按钮继续安装(如图10)。
选择“Custom”,更改安装路径为之前创建的目录。再选择“Next”继续安装(如图11)。
图11
选择“MySQL Server 5.5.13”与“MySQL Workbench 5.2.34”, “MySQL Workbench 5.2.34”是可视数据库设计工具。这个工具是设计MySql数据库的专用工具。也可根据需要选择是否安装。选择“Next”按钮继续安装(如图12)。
图12
选择“Next”按钮继续安装(如图13)。
图13
稍等片刻。程序安装完成,选择“Next”按钮进行产品配置(如图14)。
图14
选择“Server Machine”,再选择“Next”按钮继续(如图15)。
图15
默认3306端口,默认MySQL55 Windows服务进程名称。输入密码与重复密码。选择“Next”按钮继续(如图16)。
图16
程序会自动安装,安装完成选择“Next”出现安装完成界面(如图17)。
图17
安装nginx
在D盘下建立名为server的目录 D:\server
解压nginx-1.2.5.zip至D:\server\nginx-1.2.5
找到下面的nginx.exe,在命令行下运行nginx.exe (注意目录中不能出现中文字符)
启动nginx.
打开任务管理器,切换到进程选项卡,出现如下进程,证明nginx已经启动。
在浏览中键入:http://127.0.0.1,看到下图所示证明nginx正常工作。
配置Nginx
打开Nginx的配置文件nginx.conf,部分修改如下:
12345678910111213 | location / { root D:/wwwroot; index index.php index.html index.htm;}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ {# root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME D:/wwwroot$fastcgi_script_name; include fastcgi_params;} |
服务的启动与关闭
建立两个文件分别启动、关闭服务进程。
在DedeCMS中建立文件start_nginx.bat
@echo off
echo Starting PHP FastCGI...
RunHiddenConsole e:/DedeCMS/PHP5/php-cgi.exe -b 127.0.0.1:9000 -c e:/DedeCMS/PHP5/php.ini
echo Starting nginx...
RunHiddenConsole e:/DedeCMS/nginx.exe
Exit
在DedeCMS中建立文件stop_nginx.bat
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
下载软件:http://www.haoboweb.com/uploads/allimg/110613/RunHiddenConsole.zip。(只能上传图片,传不了软件)
解压至DedeCMS目录,双击start_nginx.bat启动服务进程(如图18)。由此可见,stop_nginx.bat 文件为关闭服务进程。
环境测试
在网站根目录中建立index.php文件,内容为:
$link = mysql_connect("localhost","root","123456");
if($link){
echo "数据库连接成功!";
}else{
echo "数据库连接失败!";
}
?>
输出“数据库连接成功!”,nginx的PHP环境配置成功(如图19)。
图19

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考虑使用AttActAcks.s.s.4)

会话再生是指在用户进行敏感操作时生成新会话ID并使旧ID失效,以防会话固定攻击。实现步骤包括:1.检测敏感操作,2.生成新会话ID,3.销毁旧会话ID,4.更新用户端会话信息。

PHP会话对应用性能有显着影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

phpientifiesauser'ssessionusessessionSessionCookiesAndSessionIds.1)whiwSession_start()被称为,phpgeneratesainiquesesesessionIdStoredInacookInAcookInamedInAcienamedphpsessidontheuser'sbrowser'sbrowser.2)thisIdAllowSphptptpptpptpptpptortoreTessessionDataAfromtheserverMtheserver。

PHP会话的安全可以通过以下措施实现:1.使用session_regenerate_id()在用户登录或重要操作时重新生成会话ID。2.通过HTTPS协议加密传输会话ID。3.使用session_save_path()指定安全目录存储会话数据,并正确设置权限。

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

记事本++7.3.1
好用且免费的代码编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。