CentOS 6.8에서 Apache 및 Passenger를 사용하여 Rails 5 앱 설정


0

나는 아주 새롭기 때문에 이것이 내가 한 일입니다.

Rails 앱에서 작업했는데 rails s명령으로 실행하면 제대로 작동 하지만 Lan의 다른 장치에서 (또는 집 밖에있을 때) 앱에 액세스하려고합니다. 아파치 서버는 "" "입니다. 서버 24/7로 이미 사용하고있는 이전 노트북을 사용하여 "" "실행 ssh중이므로이 안내서를 따라야합니다. http://www.rabblemedia.net/blog/installing-rvm-ruby-on-rails-and- 승객 중심 열차 -6 /

내가 잘못한 것을 모른다면, 나는 가이드에있는 것과 똑같이했지만 CentOS의 IP를 통해 다른 장치에서 내 웹 앱에 액세스하려고 할 때만 얻을 수 있습니다 Err_Connection_Timed_Out. 어떤 정보를 입력해야할지 모르겠 기 때문에 중요하다고 생각하는 내용을 입력하겠습니다.

  • CentOS의 로컬 IP는 192.168.0.53

  • 호스트 이름은 다음과 같습니다. vmcentos

  • 내 앱으로가는 경로는 /var/www/calendar

  • service httpd status 보고: httpd (pid 1196) is running...

그 외에도:

/etc/httpd/conf.d/passenger.conf파일이 내용이 :

        PassengerRoot /home/patricio/.rvm/gems/ruby-2.3.3@calendar/gems/passenger-5.0.30
        PassengerDefaultRuby /home/patricio/.rvm/gems/ruby-2.3.3@calendar/wrappers/ruby
</IfModule>
### End automatically installed Phusion Passenger config snippet ###

# Deploying a web application: an example

# Suppose you have a web application in /somewhere. Add a virtual host to
# your Apache configuration file and set its DocumentRoot to /somewhere/public:
#
#    <VirtualHost *:80>
#       ServerName www.yourhost.com
#       # Be sure to point to 'public'!
#       DocumentRoot /somewhere/public
#       <Directory /somewhere/public>
#          # Relax Apache security settings
#          AllowOverride all
#          # MultiViews must be turned off
#          Options -MultiViews
#       </Directory>
#    </VirtualHost>

내 프로젝트의 구성 파일은 다음 경로 및 파일 /etc/httpd/sites-enabled/calendar.conf에 있으며 다음 내용이 있습니다.

<VirtualHost *:80>
        ServerName vmcentos
        DocumentRoot /var/www/calendar/public
        ErrorLog /var/log/httpd/calendar/error.log
        CustomLog /var/log/httpd/calendar/access.log common

        <Directory /var/www/calendar/public>
                AllowOverride all
                Options -MultiViews
                Require all granted
        </Directory>
</VirtualHost>

마지막에 다음 /etc/httpd/conf/httpd.conf을 추가했습니다.

Include sites-enabled/*.conf
  • netstat -tulpn | less 보고:

여기에 이미지 설명을 입력하십시오

  • passenger-status 보고:

여기에 이미지 설명을 입력하십시오

문제가 무엇인지 잘 모르겠지만 내 앱이로드되지 않고 어떤 종류의 도움이나 논평도 환영합니다 !!!

답변:


0

이것에 완전히 빠져서 죄송합니다. 최근에 루비를 배우기 시작했습니다. 그러나 문서 루트가 프로젝트의 루트가 아니어야하고 디렉토리가 대중을 가리켜서는 안됩니까? 처럼

 DocumentRoot /var/www/calendar/

 <Directory /var/www/calendar/public>
            AllowOverride all
            Options -MultiViews
            Require all granted
    </Directory>

우분투 / 데비안 시스템에서 passenger 및 apache2를 사용하여 다른 웹 사이트 에서이 구성을 찾았습니다.

<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /home/rails/testapp/public
RailsEnv development
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/home/rails/testapp/public">
    Options FollowSymLinks
    Require all granted
</Directory>


이 답변이 제대로 작동하지 않으면 centos6에서 설정하는 방법에 대한이 웹 사이트를 찾았습니다. digitalocean.com/community/tutorials/…
Jesse

내가 본 모든 튜토리얼, 웹 사이트 또는 참조 DocumentRoot는 프로젝트의 루트 대신 공용 디렉토리 를 가리키는 것으로 보여줍니다 . 마지막 구성에서 볼 수 있습니다.
OiciTrap

그러나 나는 내 생각에 문서 루트가 공개되어서는 안된다고 말합니다. 글쎄, 나는 당신이 대답을 찾거나 링크가 유용한 정보를 가지고 있기를 바랍니다.
Jesse

예, 나는 그 튜토리얼을 따라 갔지만 (그리고 몇 개 더), 어쨌든 나는 그것을 작동시킬 수 없습니다.
OiciTrap

vm에있는 것처럼 시간 초과 오류가 발생했습니다. VM LAN 설정은 무엇입니까?
Jesse
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.