您的位置:首页 > 运维架构 > Nginx

Nginx+mongrel+rails+ubuntu部署应用

2012-04-27 16:53 465 查看
我知道现在后端服务器有很多,但是为了与windows发布相对应,这里的后端选择mongrel。。。

思路:1.mongrel以守护进程方式运行rails

2.安装配置Nginx

一、mongrel以守护进程方式运行rails

1. 安装mongrel

gem 'mongrel'


2. 利用Nohup在后台运行命令

编写rails_env.bat,存放在/opt/下,内容为


cd /workspace/SVNMS/SVNMS
/usr/local/bin/rails s mongrel -p 3003 -b 127.0.0.1

然后利用nohup在后台运行

nohup /opt/rails_svnms.bat &


可以用jobs命令查看后台运行进程

使用 fn %n 命令关闭后台运行进程

注意:运行nohup命令后,当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;

二、安装配置Nginx

1. 安装nginx

sudo apt-get install nginx

Ubuntu安装之后的文件结构大致为:

所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下

程序文件在/usr/sbin/nginx

日志放在了/var/log/nginx中

并已经在/etc/init.d/下创建了启动脚本nginx

默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)

2.启动nginx

sudo /etc/init.d/nginx start

3.配置nginx

server {
listen       8083;
server_name  liuwm-pc@grandsoft.com.cn;
root /workspace/SVNMS/SVNMS/public;

location / {
root /workspace/SVNMS/SVNMS/public;

proxy_set_header Host $host:8083;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:3003/; 
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
}
#SSL
ssl on;
ssl_certificate  /var/www/ssl/server.crt;
ssl_certificate_key  /var/www/ssl/server.key;
ssl_client_certificate /var/www/ssl/ssl/ca.crt;

error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}
}


三、将mongrel启动rails、nginx启动做成开机启动

Ubuntu开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本。

当然要添加到语句:exit 0 前面才行。

在 exit 0 前面添加好脚本代码。

nohup /opt/rails_svnms.bat &
sudo /etc/init.d/nginx start

参考:用Nohup命令让Linux下的程序在后台执行 http://www.linuxidc.com/Linux/2009-05/19963p2.htm

Ubuntu Nginx中文 http://wiki.ubuntu.org.cn/Nginx

Ubuntu添加开机自动启动程序的方法 http://www.linuxidc.com/Linux/2010-08/27668.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: