之前一直用lnmp一键包,但胡子说那个包太老、编译的时间过长,于生产还是自用都点不划算,不如用dotdeb。dotdeb是一个编译好了的LAMP源,简单几个命令就可以直接安装,快速便捷。
关于如何使用dotdeb,这里就不作详述,tennfy写有很详细的教程,详见这里。
使用debian7的同学把源换为debian 7即可:
echo -e 'deb http://packages.dotdeb.org wheezy all' >> /etc/apt/sources.list echo -e 'deb-src http://packages.dotdeb.org wheezy all' >> /etc/apt/sources.list
其余的步骤一样。弄好了之后,(假设当前目录是/root/) ,查看nginx的版本信息和配置。
nginx -V
把输出的配置复制下来,后面编译nginx的时候要用到。然后到nginx官网下载个最新版,并解压:
wget http://nginx.org/download/nginx-1.7.0.tar.gz tar zxvf nginx-1.7.0.tar.gz
安装git并下载最新的反代的模块
apt-get install -y git git clone https://github.com/openresty/echo-nginx-module.git git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module.git
编译新的nginx 需要一些库文件的支持,为了避免编译出错,我们下载安装这些库:
apt-get install -y libpcre3 libpcre3-dev libssl-dev openssl libxslt-dev libgd2-xpm libgd2-xpm-dev libgeoip-dev
进入nginx的目录,配置后面添加上反代的模块。
cd nginx-1.7.0/ ./configure --user=www-data --group=www-data --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-file-aio --with-http_spdy_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_secure_link_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module --add-module=/root/echo-nginx-module --add-module=/root/ngx_http_substitutions_filter_module
检查无错,就可以安装了。[图]
apt-get install build-essential make &&make install
安装好了之后,先停止nginx,查看一下nginx的所在目录,然后把原来的nginx备份一下,然后替换掉新的nginx即可。
invoke-rc.d nginx stop whereis nginx cp /usr/sbin/nginx /usr/sbin/nginx.bak cp ./objs/nginx /usr/sbin/nginx
替换成功之后,启动nginx,查看一下版本和状态[图]。
invoke-rc.d nginx start nginx -V nginx -t
上图所示OK,没问题。以反代v2ex为例,nginx的反代配置如下:
server { listen 80; server_name v2ex.yanwen.org; index index.php index.html index.htm; location / { default_type text/html; subs_filter_types text/css text/xml; subs_filter 'www.v2ex.com' 'v2ex.yanwen.org' g; echo_after_body ''; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Referer http://www.v2ex.com; proxy_set_header Host www.v2ex.com; proxy_pass http://www.v2ex.com; proxy_set_header Accept-Encoding ""; } }
感谢蓝冰提供的反代范例,大家这个v2ex.yanwen.org是捏造出来的,当然大家也可以反代Google,哈哈。
反代费流量吗?
为什么不反代1024呢?
费流量的。不过国外的VPS流量都很便宜啊。反代1024很容易被墙。。。