我的第一篇Nginx日记

因为在课程的小组作业中需要部署Rails,所以我开始学习Nginx。

一位对网络一无所知的学生,在Nginx、Unicorn和Rails的帮助下,记录了自己在AWS上部署的日记(只是个人备忘录,可能比较杂乱)。

第一天 (dì yī

    1. 用vagrant创建CentOS7.0环境

 

    1. 安装nginx

 

    1. 将/etc/nginx/conf.d/default.conf复制到/etc/nginx/conf.d/local.conf

 

    将/etc/nginx/conf.d/default.conf备份为/etc/nginx/conf.d/default.conf.bk

尝试修改 /etc/nginx/conf.d/local.conf

server {
    listen       80;
    server_name  localhost;

    access_log  /var/log/nginx/access.log;

    location / {
        root   /usr/share/nginx/html;
        index  index.htm;
        proxy_pass http://localhost:80;
    }

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

}

重新启动nginx并尝试使用curl命令访问http://localhost。我本以为会返回index.html,但是却什么都没有返回。

在日志中,有很多条记录写着 127.0.0.1 – – [17/Jun/2016:10:11:36 +0200] “GET / HTTP/1.0” 499 0 “-” “curl/7.29.0″。

第二天

时间虽然变得空闲了,但我会努力的。

暂时先确保能在Vagrant上运行rails s。

    1. 使用rbenv安装ruby

 

    1. 在mysql安装过程中遇到问题,但在这里得到解决

 

    1. 安装git flow

 

    由于防火墙相关的问题导致失败,但在参考1和参考2中解决了。

检查防火墙设置,可以使用vi /etc/sysconfig/iptables命令。


  *filter
  :INPUT ACCEPT [0:0]
  :FORWARD ACCEPT [0:0]
  :OUTPUT ACCEPT [0:0]
  -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  -A INPUT -p icmp -j ACCEPT
  -A INPUT -i lo -j ACCEPT
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 3000 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  -A INPUT -j REJECT --reject-with icmp-host-prohibited
  -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  COMMIT

可以将dport周围指定为想要使用的端口。

使用的话,英文命令是:systemctl start iptables.service,通过这个命令可以重新启动 iptables。

能夠啟動並從Mac訪問

独角兽的设置

使用Rails 4.2 + Unicorn + Nginx搭建应用程序服务器,只需参考这里就可以完成。

nginx的配置

应该将运行Nginx的用户更改为root。
(Chinese translation)

将独角兽的袜子和Nginx的袜子合在一起。

从主机PC能够看到

一想到就被责怪了。

设置生产的秘密内容

我看到了,但没有预编译资产。

bundle exec rake assets:precompile RAILS_ENV=production

然而,不行

似乎需要在Nginx的位置块中添加资源。

location /assets/ {
  root   /rails_root/public; # 明示的にこれを追加
}

做到了!

请参考

在Centos上搭建Rails环境。

如何在CentOS上安装git-flow。

广告
将在 10 秒后关闭
bannerAds