在rails
app的
config
文件夹中新建unicorn.rb内容如下

worker_processes
2

working_directory
"/home/mage/boleht"

listen
"/tmp/unicorn.boleht.sock"

listen
19555, :tcp_nopush => true

timeout
120

pid
"/home/mage/boleht/tmp/pids/unicorn.pid"

stderr_path
"/home/mage/boleht/log/unicorn.stderr.log"

stdout_path
"/home/mage/boleht/log/unicorn.stdout.log”

在rail
app 根目录新建unicorn.sh

UNICORN=/usr/local/ruby/bin/unicorn_rails

killall
-9  unicorn_rails

$UNICORN
-D -c /home/mage/boleht/config/unicorn.rb

参考

使用Nginx
+ unicorn
搭建ruby
on rails
的生产环境

nginx启动、重启、关闭

一、启动  

cd
usr/local/nginx/sbin

./nginx

二、重启

  更改配置重启nginx  

kill
-HUP 主进程号或进程号文件路径

或者使用

cd
/usr/local/nginx/sbin

./nginx
-s reload

判断配置文件是否正确 

nginx
-t -c /usr/local/nginx/conf/nginx.conf

或者

cd
/usr/local/nginx/sbin

./nginx
-t

三、关闭

  查询nginx主进程号

  ps
-ef | grep nginx

  从容停止
  kill
-QUIT 主进程号

  快速停止
  kill
-TERM 主进程号

  强制停止
  kill
-9 nginx

  若nginx.conf配置了pid文件路径,如果没有,则在logs目录下

  kill
-信号类型
'/usr/local/nginx/logs/nginx.pid'

四、升级

、先用新程序替换旧程序文件

、kill
-USR2 旧版程序的主进程号或者进程文件名

    此时旧的nginx主进程会把自己的进程文件改名为.oldbin,然后执行新版nginx,此时新旧版本同时运行

、kill
-WINCH 旧版本主进程号

、不重载配置启动新/旧工作进程

    kill
-HUP 旧/新版本主进程号

    从容关闭旧/新进程

    kill
-QUIT 旧/新进程号

    快速关闭旧/新进程

    kill
-TERM 旧/新进程号

unicorn
+ nginx 搞定之后======================

rails-api
new myapp -d mysql —skip-bundle

vi
G

vi
conf/database.yml

rails
g scaffold task\

>空格
uid:string
name:string

不要用id做字段名

rake
db:create

rake
db:migrate

scp
-r myapp root@115.28.232.242

bundle
install

rails-api
server -b 115.28.232.242

front
html

=====================================

yum
install nginx

service
nginx start

service
nginx stop

service
nginx reconfigure

service
nginx status

gem
install unicorn

写一个unicorn.rb配置文件
放入ror工程的config文件夹

worker_processes
1

working_directory
"/home/mage/jdwy"

listen
"/var/tmp/.unicorn.sock", :backlog => 64

listen
19527, :tcp_nopush => true

timeout
120

pid
"/home/mage/jdwy/tmp/pids/unicorn.pid"

stderr_path
"/home/mage/jdwy/log/unicorn.stderr.log"

stdout_path
"/home/mage/jdwy/log/unicorn.stdout.log"

preload_app
true

GC.respond_to?(:copy_on_write_friendly=)
and

GC.copy_on_write_friendly
= true

check_client_connection
false

before_fork
do |server, worker|

defined?(ActiveRecord::Base)
and

ActiveRecord::Base.connection.disconnect!

end

after_fork
do |server, worker|

defined?(ActiveRecord::Base)
and

ActiveRecord::Base.establish_connection

end

在写一个.sh文件,每次一句话启动unicorn

UNICORN=/usr/local/ruby/bin/unicorn_rails

killall
-9  unicorn_rails

$UNICORN
-c /home/mage/jdwy/config/unicorn.rb -D -E production

nginx启动,重启,关闭命令

停止操作

停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文
章)来进行的

:查询nginx主进程号

ps
-ef | grep nginx

在进程列表里
面找master进程,它的编号就是主进程号了。

:发送信号

从容停止Nginx:

kill
-QUIT 主进程号

快速停止Nginx:

kill
-TERM 主进程号

强制停止Nginx:

pkill
-9 nginx

另外,
若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文
件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:

kill
-信号类型
'/usr/nginx/logs/nginx.pid'

平滑重启

如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx
发送信号,平滑重启。

平滑重启命令:

kill
-HUP 住进称号或进程号文件路径

或者使用

/usr/nginx/sbin/nginx
-s reload

注意,修改了配置文件后最好先检查一下修改过的配置文件是否正
确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:

nginx
-t -c /usr/nginx/conf/nginx.conf

或者

/usr/nginx/sbin/nginx
-t

每次kill
端口号,来关闭unicorn服务,也可以用来关闭nginx

rails
new used school

rails
g scaffold Item title:string description:text --skip-stylesheets

rake
db:migrate

修改Gemfile文件,加入要安装的bootstrap相关包

、安装相关包

bundle
install

运行

rails
g bootstrap:install

生成bootstrap相关文件

rails
g bootstrap:themed items -f

跳转备忘

页面跳转用

<%=
link_to "GoodBye!", :action => "project" %>

此处action是默认根control中的方法(约定),可以从文件夹路径中看得

#没有动态数据,只有模版,报错

#render
:action => "index"

#render
'dpub/index.html.erb'

#有动态数据,就可以

@posts
= Post.all

@pmen
= Pman.all

render
'dpub/homepage/_hot_project.html.erb'

#
纯静态可以

#
render 'dpub/homepage/_foot.html.erb’

嵌套的erb可以复用父控制器里的model,而且不用import,自动感知

任何一个control
可以随便拿任何一个model(约定)

部署的时候装不上therubyracer,删掉所有的libv8和therubyracer,用一下

gem
install libv8 -v 3.16.14.7 -- --with-v8-lib

gem
install therubyracer

<%=DateTime.parse(cgstate.uptime.to_s).strftime('%Y-%m').to_s
%>

ror笔记2的更多相关文章

  1. Ror初学笔记

    Ror正在以惊人的速度增长着,特别是在常常光顾JavaEye的时候发现Ror已经在国内有非常好的基础了,当然要凑个热闹尝尝鲜 咯. 眼下国内Ror的中文资料还是非常少的,到网上找找就仅仅有Eiffel ...

  2. (转)MySQL优化笔记(八)--锁机制超详细解析(锁分类、事务并发、引擎并发控制)

    当一个系统访问量上来的时候,不只是数据库性能瓶颈问题了,数据库数据安全也会浮现,这时候合理使用数据库锁机制就显得异常重要了. 原文:http://www.jianshu.com/p/163c96983 ...

  3. 硬盘和显卡的访问与控制(一)——《x86汇编语言:从实模式到保护模式》读书笔记01

    本文是<x86汇编语言:从实模式到保护模式>(电子工业出版社)的读书实验笔记. 这篇文章我们先不分析代码,而是说一下在Bochs环境下如何看到实验结果. 需要的源码文件 第一个文件是加载程 ...

  4. ARMv8 架构与指令集.学习笔记

    目 录 第1章 ARMv8简介. 3 1.1基础认识. 3 1.2 相关专业名词解释. 3 第2章 Execution State 4 2.1 提供两种Execution State 4 2.2 决定 ...

  5. arm汇编笔记

    ARM汇编(非虫笔记) 1.ARM汇编的目的: 分析elf文件的需要. 2.原生程序生成过程. (1)预处理,编译器处理c代码中的预处理指令. gcc -E hello.c -o hello.i (2 ...

  6. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  7. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  8. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  9. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

随机推荐

  1. C++ 回调函数的几种策略

    Stackoverflow中提出了这样一个问题:假设我们实现了一个User类,Library类,现在Library类中utility需要回调User中func方法,总结答案,常见的几种方法如下: 静态 ...

  2. Luogu 4724 三维凸包

    Luogu 4724 三维凸包 增量法,维护当前凸包,每次加入一个点 \(P\) ,视其为点光源,将可见面删去,新增由"晨昏线"(分割棱)与 \(P\) 构成的平面. 注意每个平面 ...

  3. 如何向整个 Git 仓库补提交一个文件

    微软在 Reference Source 里开放了 .Net Framework 多个版本的源码.为了更方便地阅读这些源码,我们把每一个版本都下载下来后按顺序提交到 git 仓库中. 但是!!!居然忘 ...

  4. 《DSP using MATLAB》示例Example 8.28

    %% ------------------------------------------------------------------------ %% Output Info about thi ...

  5. 在后台new出页面(组件)

    Page p = new Page();            Control u = p.LoadControl("~/folderName/controlName.ascx") ...

  6. chrome安装vue-devtools

    安装方法1: 需正常打开chrome商店,搜索vuejs devtools 安装.chrome://extensions/ 开发者工具-扩展程序下启用: 方法2: github下载插件,npm包安装依 ...

  7. 从数据库导出数据到excel之POI操作

    项目说明: 1:数据库中有两张表,主键关联 2:根据条件查询数据 3:处理为需要的数据封装类型,然后传到导出excel的方法中 <--框架部署就不详谈了,用的spring框架--> 补充: ...

  8. Nchan nginx 支持的开源消息推送模块

    1. 介绍 // 官方说明 Nchan is a scalable, flexible pub/sub server for the modern web, built as a module for ...

  9. FileStream读写文件

    读文件示例 try { // 打开文件 FileStream fs = new FileStream("D:\\not.txt", FileMode.Open, FileAcces ...

  10. oracle11g安装(win10)

    oracle11g安装(win10) 0.安装环境 1.安装包下载 1)http://www.oracle.com/technetwork/database/enterprise-edition/do ...