老铁们,大家好,相信还有很多朋友对于游记网站源码分享和游记赚钱的平台的相关问题不太懂,没关系,今天就由我来为大家分享分享游记网站源码分享以及游记赚钱的平台的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
摘要:Web服务是在互联网上暴露最多的服务。选择合适的软件搭建Web服务器,让自己的Web服务器支持高并发服务和抵御外部攻击的能力,是提供互联网服务所需要长期面对的问题。本文作者根据自己在实践中的经验,构建了一套高效安全的NginxWeb服务器。
一、为什么选择Nginx搭建Web服务器
Apache和Nginx是目前使用最火的两种Web服务器,Apache出现比Nginx早。ApacheHTTPServer(简称Apache)是世界使用排名第一的Web服务器软件,音译为阿帕奇,是Apache软件基金会的一个开放源码Web服务器,可以运行几乎所有的计算机平台,其次开放的API接口,任何组织和个人都可以在它上面扩展和增加各种需要功能,达到为自己量身定制的功能。
Nginx(“enginex”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
在互联网初期,网站大小不是很大,访问量都很轻量,一个网站的访问量一天最多就几万IP,这个时候Apache完全可以满足需要,人们更多的是为它开发各种模块,像重写模块,访问控制列表,缓存模块等等。但是随着互联网的飞速发展,网站我访问量以指数增长,大型网站的除了加大硬件投入外,典型的Web服务器Apache这时候也力不从心了;但是Apache并不是完美的,并且不再适合大规模系统。
为什么?因为他的进程模式虽然简单而灵活,但并不适合大规模尤其是当要处理像PHP这种需要占用大量内存应用程序代码时。于是Nginx开始崛起,最初的设计是俄罗斯工程师为大型网站解决高并发设计的。所以注定了高并发是它永恒的优点。再次就是反向代理,现在大型网站分工详细,哪些服务器处理数据流,哪些处理静态文件,这些谁指挥,一般都是用nginx反向代理到内网服务器,这样就起到了负载均衡分流的作用。再次nginx高度模块化的设计,编写模块相对简单。
Nginx是一个高性能的Web和反向代理服务器,它具有有很多非常优越的特性:
作为Web服务器:相比Apache,Nginx使用更少的资源,支持更多的并发连接,体现更高的效率,这点使Nginx尤其受到虚拟主机提供商的欢迎。能够支持高达50,000个并发连接数的响应,感谢Nginx为我们选择了epollandkqueue作为开发模型。
作为负载均衡服务器:Nginx既可以在内部直接支持Rails和PHP,也可以支持作为HTTP代理服务器对外进行服务。Nginx用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。
Nginx安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下进行软件版本的升级。
二、Nginx安装
1、安装说明
系统环境:CentOS-6.6
软件:nginx-1.8.0.tar.gz
安装方式:源码编译安装
安装位置:/opt/program/nginx-1.8.0
下载地址:http://nginx.org/en/download.html
2、安装必须软件
yum-yinstallzlibzlib-developensslopenssl–develpcrepcre-devel\n./nginx\n./nginx-1.2.6/objs/nginx\n
检查系统已安装的Nginx:
卸载原有的Nginx
cd/opt/program\ntar-zxvf../software/nginx-1.8.0.tar.gz\n./configure–prefix=/opt/program/nginx\n
注:处此是指定Nginx的安装目录,大多用户习惯于安装在/usr/local/nginx下面
makeinstall安装\n
4、配置服务项
修改防火墙配置:\nserviceiptablesrestart\n
5、启动
方法1
/opt/program/nginx/sbin/nginx\n查询nginx主进程号\npkill-9nginx\n重启\nnetstat–na|grep80\n./configure–without-http_autoindex_module–without-http_ssi_module\nmakeinstall\n
通过以下命令来查看当编译Nginx服务器时哪个模块能开户或关闭:
yum-yinstallselinux-policy-targetedselinux-policy-devel\n
下载SELinux策略以强化NginxWeb服务器。
wget‘http://downloads.sourceforge.net/project/selinuxnginx/se-ngix_1_0_10.tar.gz?use_mirror=nchc’\n
解压、编译文件
cdse-ngix_1_0_10/nginx\nrmtmp/nginx.mod.fctmp/nginx.mod\n
安装生成的nginx.ppSELinux模块:
vi/usr/local/nginx/conf/nginx.conf\n编辑和设置所有客户端缓冲区的大小限制如下:\nStart:SizeLimits&BufferOverflows\nclient_body_buffer_size1K;\nclient_header_buffer_size1k;\nclient_max_body_size1k;\nlarge_client_header_buffers21k;\nEND:SizeLimits&BufferOverflows\n
4、控制并发连接
使用NginxHttpLimitZone模块来限制指定的会话或者一个IP地址的特殊情况下的并发连接。编辑nginx.conf:
limit_zoneslimits$binary_remote_addr5m;\nlimit_connslimits5;\n
上面表示限制每个远程IP地址的客户端同时打开连接不能超过5个。
5、限制可用的请求方法
GET和POST是互联网上最常用的方法。Web服务器的方法被定义在RFC2616。如果Web服务器不要求启用所有可用的方法,它们应该被禁用。下面的指令将过滤只允许GET,HEAD和POST方法:
Onlyallowtheserequestmethods\nif($request_method!~^(GET|HEAD|POST)$){\nreturn444;\n}\nDonotacceptDELETE,SEARCHandothermethods\n
6、拒绝一些User-Agents
你可以很容易地阻止User-Agents,如扫描器,机器人以及滥用你服务器的垃圾邮件发送者。
Blockdownloadagents\nif($http_user_agent~*LWP::Simple|BBBike|wget){\nreturn403;\n}\n\n
阻止Soso和有道的机器人:
Blocksomerobots\nif($http_user_agent~*Sosospider|YodaoBot){\nreturn403;\n}\n
7、防止图片盗链
图片或HTML盗链的意思是有人直接用你网站的图片地址来显示在他的网站上。最终的结果,你需要支付额外的宽带费用。需要封锁,并阻止盗链行为。
/sbin/iptables-AINPUT-ptcp–dport80-ieth0-mstate–stateNEW-mrecent–set\nfind/nginx-usernginx\nfind/nginx-name‘.?*’-not-name.ht*-or-name‘*~’-or-name‘*.bak*’-or-name‘*.old*’\n/sbin/iptables-AOUTPUT-oeth0-mowner–uid-ownervivek\\\n-ptcp–dport80-mstate–stateNEW,ESTABLISHED-jACCEPT\n
五、小结
本文只是根据自己的需要来构建适合自己的Web服务器,希望对各位有所帮助。Nginx是一个好工具好转件,Nginx的功能绝不止限于构建Web服务器,它的更过功能还有待大家继续去开发,我期待Nginx能给我们带来更多惊喜。
文章到此结束,如果本次分享的游记网站源码分享和游记赚钱的平台的问题解决了您的问题,那么我们由衷的感到高兴!
