分类 Nginx 下的文章

nginx配置全局反向代理

nginx配置反向代理,目前我会一点,但是原理我几乎没想通。在网上搜索来搜索去,都是如下的配置方法:

server  { 
    listen 80; 
    server_name www.fuck.com; 
    location / { 
        proxy_pass http://www.befucked.com/; 
        proxy_redirect off; 
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 
}

以上代码就是用www.fuck.com代理http://www.befucked.com/,我测试发现,如果http://www.befucked.com/网站html里含有http://www.befucked.com/这种绝对地址,那么通过www.fuck.com访问网站,有些链接还是http://www.befucked.com/的,根本没法用嘛。

阅读剩余部分

nginx的虚拟主机配置的有序管理

nginx配置虚拟主机一般是由nginx.conf实现,我看很多人是直接在nginx.conf文件里配置,如果服务器下放很多个网站,比如50个,那么这个nginx.conf文件会显得很长,体积很大,维护的时候不方便,而且出错几率很大。

当虚拟主机很多时,我们可以采用以下方法来达到有序管理:

一,在nginx.conf的http里添加一条信息:

include vhost/*.conf;

二,nginx.conf所在的目录下新建文件夹 vhost

三,在vhost里存放每个网站的虚拟主机配置文件,以域名命名。

阅读剩余部分

nginx实现不带www域名301重定向到带www域名

首先确保你的域名www.xxoo.com xxoo.com都解析到相同ip上。

然后打开你的虚拟主机配置文件www.xxoo.com.conf

找到server_name www.xxoo.com;

改为如下:

server_name www.xxoo.com xxoo.com; 
if ($host != 'www.xxoo.com' ) 
{ 
    rewrite ^/(.*)$ http://www.xxoo.com/$1 permanent; 
}

保存,然后重启nginx。

如果这个网站还绑定有另一个域名,该域名也需要301重定向到www.xxoo.com上,那么就添加为:

server_name www.xxoo.com xxoo.com www.otherxxoo.com;

阅读剩余部分

linux下nginx如何给虚拟主机设置404错误页面

我的环境是LNMP,手动搭建的环境也都类似。我创建给每个虚拟主机设置404错误页面的步骤如下:

1,每个虚拟主机的根目录下创建一个404.html。注意,该html内容必须大于512字节。

2,找到/usr/local/nginx/conf 下的nginx.conf文件,在http定义区域加入:

fastcgi_intercept_errors on;

(注意后面有个分号)

3,然后到/usr/local/nginx/conf/vhost下,打开每一个 虚拟主机配置文件 域名.conf ,在server 区域加入:

error_page 404 /404.html;

阅读剩余部分