Windows下网站发布记录【apache+thin+sql2008】
越是不想在windows下发布网站,客户越是要求在windows下发布网站。。。。所以只能一再逆流而行,探索在windows下rails的部署了。。。
大概的环境介绍一下:
开发环境:ubuntu 12.0 + rails 3.2.2 + sqlserver 2008 r2 sql数据连接: tiny_tds, windos下和linux下都能用, 非常方便,不过只是sql 2005以及以上版本, 不支持sql 2000. 发布环境: windows 2008 server R2 + sqlserver 2008 r2 + thin + apache
1. thin 注册服务, 用的是windows下的服务器注册技术
详情参考:http://www.cnblogs.com/lwm-1988/archive/2012/04/27/2473276.html
thin的详细帮助文档可以执行 thin –-help 查看
1.1 注意点:windows 注册表内容
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ThinServer\Parameters] "Application"="D:\\WEB_APP\\Thin_Service\\rails_card_ap.bat" "AppParameters"="" "AppDirectory"="D:\\WEB_APP\\Card_AP"
1.2 bat文件内容
thin start -p 8364 -e production -a 127.0.0.1 -c D:\WEB_APP\MyAPP
都配置好了,启动ThinServer服务就可以了, 可以看到8364端口开始监听了。
2. apache负载均衡配置
1. 安装apache, 可以去官方网站下载最新的版本, http://apache.org
2. 打开配置文件的mod
1).所有的proxy_module 2). rewrite_module 3). status_module 监控负载均衡状态 3. 配置文件内容
<VirtualHost *:80> #监听域名 ServerName lock.glodon.com #网站静态文件目录 DocumentRoot D:/WEB_APP/Card_AP/public ProxyRequests Off <Proxy balancer://thin_rails> BalancerMember http://127.0.0.1:8364 </Proxy> ProxyPass /assets/ ! #静态图片不代理 ProxyPass / balancer://thin_rails/ ProxyPassReverse / balancer://thin_rails/ ProxyPreserveHost on #Custom log file locations ErrorLog "logs/error.80.log" CustomLog "logs/access.80.log" combined #查看负载均衡情况,生成环境下请去掉该部分,可以直接访问 /balancer-manager查看 <Location /balancer-manager> SetHandler balancer-manager order Deny,Allow Allow from all </Location> #设置静态文件的读取权限,否则会出现403 forbidden <Directory "D:/WEB_APP/Card_AP/public"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
4. 负载均衡效果图