2015年1月

配置Apache mod_proxy模块反向代理tomcat,去除tomcat访问的端口号

首先检查apache根目录下的modules目录中是否有mod_proxy.so、mod_proxy_http.so文件,如果没有,说明编译安装apache时没有配置proxy模块。可以参照这篇文章的方法,给已经编译运行的Apache增加mod_proxy模块。

配置完后重启apache生效,此时就已经加载mod_proxy.so、mod_proxy_http.so这两个模块了,可以

grep 'proxy' conf/httpd.conf
检查下。如果有用到AJP或者tomcat负载均衡,则还需编译增加其他模块,这个再自行搜索即可。

然后在apache的conf/vhost/目录中新增一个conf配置文件,可以复制已存的拿来改。如下是我的内容

<VirtualHost *:80>
DocumentRoot /www/domain.com
ServerName www.domain.com
ServerAlias *.domain.com

ProxyRequests Off
ProxyPass /download.html !   #表示改URL不反代
ProxyPass /img !
ProxyPass / http://www.domain.com:8080/MyTomcatApp/
ProxyPassReverse / http://www.domain.com:8080/MyTomcatApp/
</VirtualHost>

参考文章:

http://freeloda.blog.51cto.com/2033581/1301382
https://rvdb.wordpress.com/2012/04/26/reverse-proxying-tomcat-webapps-behind-apache/

海外VPS哪家强?

转载于微信公众号「pennyjob」,原文链接

网友B:美帝哪个虚拟空间服务商比较好,能否推荐?
答:这个问题回答了无数次了,只好再贴一次之前的回答。

buyvm是老牌的vps,曾经很火。他有一个奇葩的优势,就是ssh上去写代码非常快,不知道做了什么特别优化,因此job君的代码都在其一台服务器上。
linode可能是最成熟的vps之一,东京机房很快,国内很多创业公司都买了东京机房的vps,提供负载均衡服务,snapshot等标准化云服务。运行也稳定基本很难得做维护,通知客户重启机器。
vultr可能是相对新锐的vps提供商了。据说背后有大财团,其机房遍布世界,英国也有机房,我有个抓彩票数据的哥们,受限于那个网站只限制英国IP访问而无法抓数据,有了vultr就解决了。其snapshot有点问题,snapshot完,create一台新机器IP和原机器一样,ssh不上,要改,很麻烦。价格目前看也是最便宜的。
digital ocean是目前创业公司的宠儿,几大优势,1)流量超标不扣费,前面三个都是流量超过套餐计划要增加收费。2)旧金山机房速度很快,只比linode东京机房速度略逊。比如我的pullword就部署在旧金山机房,还有大部分VPN也部署在旧金山机房 3)snapshot很方便,支持跨机房transfer

以上vps提供商都提供按小时计费,buyvm要事先选好,digital ocean默认就是按小时计费,destroy掉机器后,收费就停止。另外digital ocean默认1个信用卡最多创建10台主机,不同的vps规定也不完全相同,需要多create机器只需要写个support ticket即可,向提供商说明自己增加机器的原因,不愿意说明,就多准备一些信用卡即可。

总体上,job君给大家一个选择vps的参考型建议。
1)如果是不差钱型的,用户体验至上的,那就选linode 东京机房,之前陈怀临(首席)的微博图片服务就是放在东京机房,速度非常给力。
2)如果是差钱型的,害怕服务突然火,流量超量的,需要非常超值,且服务稳定的,就选digital ocean的旧金山机房,但这个机房的可申请服务器,job君感觉也不会很多了,目前大家基本是一拥而上的申请。
3)如果需要全世界多一些的机房,就选vultr,这个比较新,各种功能有待开发完善,但价格相对便宜,提供的SSD也大,够玩了。

Ubuntu sftp配置及上传文件权限问题解决方案

编辑配置文件/etc/ssh/sshd_config

Subsystem sftp /usr/lib/openssh/sftp-server

改成

Subsystem sftp internal-sftp

增加如下内容

Match user ftpuser
ChrootDirectory %h
ForceCommand internal-sftp

多个用户则重复配置上面的三行。

然后修改用户,设定shell为/bin/false,就可以限制用户无法登录SSH只能使用sftp


配置默认上传文件权限

Subsystem sftp internal-sftp -u 0002

增加上面加粗的-u 0002

表示配置sftp中的umask为0002,这样在sftp里新建目录权限就是775(777-002),文件权限664(666-002)

参考文章:

Limiting Access with SFTP Jails on Debian and Ubuntu
How do I set default permissions for SFTP for an Ubuntu Server?
【系统管理】Linux Umask 介绍