`
ljh2008
  • 浏览: 47048 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

nginx转换手记

阅读更多

首先说一下为什么要把apache换成nginx。
在目前的web服务器市场,apache的市场占有率应该在70%左右,可见其应用之广泛。apache有不错的性能及强大的模块配置功能,安全性也不 错。后来发现,很多访问量比较大的网站,都换成了nginx,一个由俄罗斯人开发的开源项目,就下载下为研究了一下,发现其配置上比apache更加简 洁,且可控制项也非常丰富,就决定采用nginx了。至于效率是否会比apache高10倍,本人没有测试过,没有发言权。
首先安装,sudo apt-get install ngnix,版本是0.6.02,应该是一个比较稳定的版本。
其次,安装与php5-cgispawn-fcgi,php5服务器上本来就有,所以不必再安装一次。(前段时候nginx报重大安全漏洞,其实并不是ngnix的漏洞,而是spawn-fcgi上的问题,怎么修改以避免该漏同,大家google一下哈)。
经过上面的操作,就完成了安装,ngnix已经加入到自动启动配置中,接下来,我们要做的,就是修改配置文件,建立虚拟主机。
ubuntu集成nginx与apache后的目录结构非常的相似,在/etc/nginx目录下就是所有需要的东西了。nginx.conf是主配置文 件,一般不用改动,sites-available目录下,是站点虚拟主机配置文件,sites-enabled下是生效的配置(直接建立起sites- available目录下文件的软链接,软链接是我发现的linux下最强大、最有效的功能,如果换为win 平台,我不晓得该怎么做,呵呵)。
下面是一个主机配置示例:
server {
listen   80;
server_name  yourdomain.com;
root /var/www/yousite_doc_root;

access_log  /var/log/nginx/localhost.access.log;

location / {
root /var/www/yousite_doc_root;
index index.html;
}
location ~ \.(jsp|htm|do)$ {
proxy_pass http://youdomain.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 480;
proxy_send_timeout 480;
}
location ~* \.(mp3|wmv|png|jpg|gif|swf)$ {
valid_referers  none  blocked server_names *.yourdomain.com;
if ($invalid_referer) {
rewrite ^/ http://image.yourdomain.com/dl.jpg;
#return 403;
}
}
}
在上面的配置中,要注意的是:
1、location / {}中,请配置上root,虽然上面已经配置过一次。如果不配置,资源访盗链将无法实现,网上的很多配置都是误人子弟的,请大家一定要小心。
2、 proxy_pass http://youdomain.com 是到jsp和*.do的,转到一个后台tomcat集群配置中,效率可能会比apache的ajp13低一些,我会在另一篇文章中介绍。
3、proxy_read_timeout 480;与 proxy_send_timeout 480配置,有助于解决业务执行过程较长的长请求。
4、 proxy_set_header X-Real-IP $remote_addr用于在程序中获得客户真实的ip,当然切换成nginx后,你程序中取ip的代码也得改。


php站点的一个配置实例:
server {
listen 80;
server_name yourdomain.com;
access_log  /var/log/nginx/localhost.access.log;

location / {
root   /var/www/bbs_doc_root/subdir;
index  index.html index.php;
}

location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /var/www/bbs_yousitedomain/ucenter$fastcgi_script_name;
include fastcgi_params;
}
}
最后,还需要修改nginx配置文件,将nginx版本号隐藏起来,以访止自动扫描软件发现特定版本的安全露洞。
如有问题,请与我讨论。

本文首发http://www.fudu365.com【英语听力复读网】,转载请保留。

分享到:
评论

相关推荐

    apache到nginx配置文件转换工具

    一个开源的Linux下运行的命令行工具,能将Apache的配置文件转换成相应的Nginx的配置文件。本工具能自动将Apache Web服务器的配置文件转化成Nginx的配置文件,减少WEB服务器迁移的工作量。 该工具从Apache Web服务器...

    keystoke证书转换nginx证书工具

    标题提到的"keystoke证书转换nginx证书工具"是一个帮助管理员处理SSL/TLS证书的实用程序,特别针对从Java的`keytool.exe`生成的`.keystore`格式证书进行转换。`keytool`是Java Development Kit (JDK) 自带的一个...

    nginx证书转换jks

    ### Nginx证书转换jks知识点详解 #### 一、背景与目的 在现代Web服务部署中,Nginx作为一款高性能的HTTP和反向代理Web服务器,被广泛应用于多种场景之中,尤其是在需要进行SSL/TLS加密通信时更是不可或缺。然而,...

    jks证书格式转换nginx使用格式

    由于生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换。 jks2pfx的命令格式:JKS2PFX.bat keystore password alias exportname keystore:KeyStore文件绝对路径 password:...

    arm 架构 docker运行nginx镜像包

    arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构...

    centos8 nginx1.20.1 与nginx配置文件

    现在,我们可以下载Nginx的源代码包`nginx-1.20.1.tar.gz`。你可以通过wget或者浏览器将文件下载到本地,然后解压: ```bash wget http://nginx.org/download/nginx-1.20.1.tar.gz tar -zxvf nginx-1.20.1.tar.gz cd...

    nginx替代方案,nginx代替apache与jboss

    - 将文本格式的 HTTP 转换为二进制格式的 AJP 再由 Jetty 转回文本格式并没有带来可测量的好处,反而可能带来额外的开销。 - 测试显示,使用 mod_proxy 比使用 mod_ajp 可以获得大约 15% 更高的吞吐量。 #### 替代...

    nginx arm64版本nginx-linux-arrch64.zip

    这个名为"nginx-linux-arm64.zip"的压缩包提供的是专为ARM64架构(也称为AArch64)编译的Nginx版本,适用于基于Linux操作系统的64位ARM处理器设备,如树莓派、某些云服务器或嵌入式系统。无需繁琐的编译过程,只需...

    nginx官方文档中文版

    Nginx 官方文档中文版知识点总结 Nginx 是一个开源的 Web 服务器软件,可以作为 Web 服务器、反向代理服务器、缓存服务器、负载均衡器和媒体流服务器等。...* 转换重写规则 * WebSocket 代理 * 开发贡献指南

    实战nginx.pdf

    实战nginx.pdf。主要内容包括:第1章 Nginx简介;第2章Nginx服务器安装与配置;第3章Nginx基本配置与优化;第4章Nginx与PHP;第5章Nginx与JSP、ASP.NET..第6章Nginx http负载均衡和反向代理;第7章Nginx 的rewrite...

    NGINX下RTSP转RTMP

    标题:“NGINX下RTSP转RTMP”主要涉及的是在Windows操作系统上利用NGINX服务器实现RTSP视频流到RTMP协议的转换。这是一个常见的需求,因为RTSP(Real Time Streaming Protocol)虽然在某些场景下具有优势,但并非...

    nginx-1.13.3,nginx1.13.3不存在信息泄漏漏洞安全稳定nginx版本

    **Nginx 1.13.3 版本详解** Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于网站托管、负载均衡以及应用程序交付等领域。它以其高效、稳定和轻量级的特性著称,尤其在处理静态内容和高并发请求时表现优秀...

    apache配置文件转换到nginx配置文件的工具

    一个开源的Linux下运行的命令行工具,能将Apache的配置文件转换成相应的Nginx的配置文件。本工具能自动将Apache Web服务器的配置文件转化成Nginx的配置文件,减少WEB服务器迁移的工作量。 该工具从Apache Web服务器...

    nginx带nginx-http-flv模块windows编译版rtmp

    **Nginx与Nginx-RTMP及Nginx-HTTP-FLV模块** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器,被广泛应用于高并发场景,尤其在处理静态文件、HTTP缓存以及反向代理等方面表现出色。Nginx以其高效的事件驱动...

    nginx-1.24.0.tar

    Nginx 1.24.0 是 Nginx 开源项目发布的一个重要更新版本,该版本在性能优化、功能增强以及安全性提升方面带来了诸多改进。当您下载 Nginx 1.24.0 的压缩包时,您将获得一个包含 Nginx 源代码的压缩文件,通常命名为 ...

    nginx-1.21.6及Nginx依赖的rpm安装包

    编译源码安装Nginx时,需要GCC来转换源代码为可执行二进制文件。 - **gcc-c++**: 这是GCC的一部分,专门用于C++编译。虽然Nginx主要用C语言编写,但可能包含C++编写的模块或组件。 4. **离线安装**: 在没有网络...

    在linux系统上升级nginx版本

    在 Linux 系统上升级 Nginx 版本 Nginx 是一个流行的开源 Web 服务器软件,可以运行在多种操作系统上,其中包括 Linux。随着 Nginx 的不断更新和发展,升级 Nginx 版本成为一个不可避免的问题。本文将指导您在 ...

    Linux离线安装nginx安装包

    在Linux系统中,离线安装Nginx是一个常见的需求,特别是在没有互联网连接或者网络环境受限的服务器上。本文将详细讲解如何通过离线方式在Linux上安装Nginx,同时也会涉及Nginx依赖的软件如openssl和gcc的安装过程。 ...

    Nginx课件完整版.pdf

    Nginx课件完整版.pdf Nginx是一款功能强大的网络服务器软件,能够提供高性能的Web服务器、反向代理、负载均衡等功能。本资源摘要信息将对Nginx的主要知识点进行详细的介绍。 什么是Nginx? Nginx是一个基于C语言...

Global site tag (gtag.js) - Google Analytics