所以我正在尝试部署一个我不熟悉的项目, 我总是在开发中使用localhost:3000 / abc运行,我的应用程序将成功加载。
然后在配置apachee / passengers和我的database.yml后, 我用我提供的dns运行网站 例如; ec2-11-111-xxx-xx.ap-southeast-1.compute.amazonaws.com/abc
我如何运行我的服务器
rails s
=> Booting WEBrick
=> Rails 4.2.4 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2017-03-15 16:01:16] INFO WEBrick 1.3.1
[2017-03-15 16:01:16] INFO ruby 2.3.3 (2016-11-21) [x86_64-linux]
[2017-03-15 16:01:16] INFO WEBrick::HTTPServer#start: pid=20856 port=3000
更新1#:确定误解了它是如何工作的。所以显然运行rails s使我的系统在WEBRICK上运行,这不是我想要的。我的apachee已经运行了,但是在chmod 777 tmp文件之后我继续得到与上面的屏幕相同的错误,替换了一个新的tmp文件。
答案 0 :(得分:0)
我引用了另一篇文章:
创建或拥有"的用户my_rails_app目录不可由服务器写入。
执行命令
chown -R webserveruser:webserveruser /path/to/my_rails_app
rails permission denied webserver error
assetsprecompile permission denied only on one computer
如果您不理解chown -R
命令,可以在线查看有关此Bash(终端)命令的更多信息:
bash terminal chown -R command
因此,您需要在终端中运行chown -R
,然后运行 webserveruser : webserveruser 以及从根开始的rails应用程序路径。
如果您不知道哪个是您的服务器用户,则应使用phusion passenger
运行ps aux | egrep '(apache|httpd)'
。
为了找到我刚刚在线搜索,所以如果你没有apache搜索正确的终端命令。
How to find out Apache Webserver user
应该从根目录开始提供rails应用程序的路径。如果您不知道读取根目录的内容,请听: