三.配置Nginx

先是修改 hosts 文件,意思是创建一个本地域名以便我们访问,比如:

$ sudo subl /etc/hosts
127.0.0.1 rails_project.local

但是这里可以跳过,因为hosts文件中本身默认包含一个localhost本地域,所以我们如果只通过localhost访问页面,这里不需要做修改.

这里我们测试一下hosts设置的是否正确,简单的ping一下就可以了:

ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.056 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.150 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.137 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.213 ms

然后是Nginx配置文件,如果你不打算使用SSL连接的方式,你只需要如下一段:

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    passenger_root /Users/apple/.rvm/gems/ruby-2.2.5/gems/passenger-5.1.1;
    passenger_ruby /Users/apple/.rvm/gems/ruby-2.2.5/wrappers/ruby;

    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

server {
        listen       80;
        server_name  localhost;

        root /Users/apple/src/ruby_src/rails/sample_app/public;
        passenger_enabled on;
        rails_env production;
    }
}

里面唯一需要注意的地方是server块中的server_name和root的路径,你需要替换为你自己的东东,另外要注意的是passenger_enbled和rails_env两行配置.

最后你在编辑完了nginx的config文件之后,可以首先用sudo nginx -t命令检查一下基本的conf语法没有错误:

sudo nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

如果此时提示错误,请按照对应出错行号检查附近的代码语法.

四.Nginx进程的管理

下面是几个管理nginx服务进程的命令:

//启动nginx服务
sudo nginx
//停止nginx服务
sudo nginx -s stop
//重新载入nginx服务的配置
sudo nginx -s reload

你主要只需要上面3条命令,更多的你可以通过man nginx查看.

在运行nginx服务后你可以用如下命令查看nginx和passenger进程的状态是否正常:

rvmsudo passenger-memory-stats

-------- Apache processes --------

----------- Nginx processes ------------
PID    PPID   VMSize     Resident  Name
----------------------------------------
54096  1      2408.4 MB  2.2 MB    nginx: master process nginx
54111  54096  2408.7 MB  2.1 MB    nginx: worker process

------ Passenger processes ------
PID    VMSize     Resident  Name
---------------------------------
54104  2406.3 MB  6.8 MB    Passenger watchdog
54107  2465.2 MB  12.1 MB   Passenger core
54109  2399.1 MB  6.8 MB    Passenger ust-router
54188  2476.9 MB  3.1 MB    Passenger RubyApp: /Users/apple/src/ruby_src/rails/sample_app/public (production)

如果此时看不见上述进程,那么请检查之前的操作是否有错误的地方.

如果一切都没问题,这时你在浏览器打开localhost地址应该可以显示你在开头建立的rails_project网站.

MacOS下Rails+Nginx+SSL环境的搭建(中)的更多相关文章

  1. MacOS下Rails+Nginx+SSL环境的搭建(下)

    五.以Production环境部署Rails项目 这里插一个题外话,我们之前是以development环境运行的rails项目,现在我们希望在实际的生产系统中跑一下看看.这是十分有必要的,应该在rai ...

  2. MacOS下Rails+Nginx+SSL环境的搭建(上)

    这里把主要的步骤写下来,反正我是走了不少弯路,希望由此需求的朋友们别再走类似的弯路.虽说环境是在MacOS下搭建,但是基本上和linux下的很相像,大家可以举一反三. 一.安装Rails 这个是最简单 ...

  3. cocos2d-x3.0 macOS下配置Android开发环境以及使用cocos2d-console来新建执行project

    下面是子龙山人录制的关于cocos2d-x3.0的视频教程,macOS下配置Android开发环境.使用cocos2d-console来新建执行project.怎样执行cocos2d-x 3.0win ...

  4. arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc)

    arm-linux-gnueabihf-gcc下载 qt下载 arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc) Ubuntu 16.04 安装QT arm嵌入式 ...

  5. windows下配置nginx+php环境

    刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是"引擎x",一般引"擎代"表了性能,而"x"大多出现是表示" ...

  6. (转)windows下配置nginx+php环境

    原文地址 http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html 刚看到nginx这个词,我很好奇它的读法(engine ...

  7. windows下配置nginx+php环境(转)

    刚看到nginx这个词,我很好奇它的读法(engine x),我的直译是“引擎x”,一般引“擎代”表了性能,而“x”大多出现是表示“xtras(额外的效果)”,那么整个词的意思就是类似“极致效果”,“ ...

  8. windows下python web开发环境的搭建

    windows下python web开发环境: python2.7,django1.5.1,eclipse4.3.2,pydev3.4.1 一. python环境安装 https://www.pyth ...

  9. Ubantu下配置Sublime Text3---python环境的搭建

    因为学习机器学习算法的原因,买的参考书籍很多都是python语言进行开发的,因此也想着在Linux系统下配置python的环境.Sublime是一款非常流行的编辑器,可以添加很多小巧有用的插件,同时也 ...

随机推荐

  1. AngularJS 全局scope与指令 scope通信

    在项目开发时,全局scope 和 directive本地scope使用范围不够清晰,全局scope与directive本地scope通信掌握的不够透彻,这里对全局scope 和 directive本地 ...

  2. this对象指向

    this表示函数运行时,自动生成的一个内部对象,只能在函数内部运行 function test(){ this.x = 1; } 随着使用场景的变化,this的值会发生变化 原则:this指的值调用函 ...

  3. jQuery系列 第一章 jQuery框架简单介绍

    第一章 jQuery框架简单介绍 1.1 jQuery简介 jQuery是一款优秀的javaScript库(框架),该框架凭借简洁的语法和跨平台的兼容性,极大的简化了开发人员对HTML文档,DOM,事 ...

  4. 从零开始系列之vue全家桶(3)安装使用vuex

    什么是vuex? vuex:Vue提供的状态管理工具,用于同一管理我们项目中各种数据的交互和重用,存储我们需要用到数据对象. 即data中属性同时有一个或几个组件同时使用,就是data中共用的属性. ...

  5. 前端页面间传值之cookie传值和url传值

    大家好,我是小C: 我们在做一些网站需要传值交互,最近我就遇到了这问题,如果用H5的本地存储,IE8以下是不能支持的,但是官方说到IE8及以上就支持,但是某些版本还是存在问题.所以我们来看看下面两种方 ...

  6. [JLOI2015]装备购买

    题目描述 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) 表示 (1 <= i <= n; 1 <= j < ...

  7. 【BZOJ2809】【APIO2012】派遣

    Background 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿. Description 在这个帮派里,有一名忍者被称之为Master.除了Master以外,每名忍者 ...

  8. ●BOZJ 2127 happiness

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2127 题解: 和 BZOJ 3984 建图类似(最小割模型).但是这个建图方法效率有点低.另 ...

  9. 【USACO】又买饲料 单调队列dp

    题目描述 约翰开车回家,又准备顺路买点饲料了(咦?为啥要说“又”字?)回家的路程一共有 E 公里, 这一路上会经过 N 家商店,第 i 家店里有 F i 吨饲料,售价为每吨 C i 元.约翰打算买 K ...

  10. 4999: This Problem Is Too Simple!

    Description 给您一颗树,每个节点有个初始值. 现在支持以下两种操作: C i x(0<=x<2^31) 表示将i节点的值改为x. Q i j x(0<=x<2^31 ...