Rails+Passenger+Debian
htps //w w.ぃ 그래서. 코 m / 드 cs / ゔ ぇ p 맨 t / r r / 루 바이 온 - 라 ls - 아파치 ぇ - 데 비안 /
h tps://sym 포 균열. bぉg. FC2. 소 m/bぉg-엔트리-423. html
이 기사를 참고로했습니다.
버전 정보
rails 6.0.0
Ruby 2.6.3
GCP의 VM 인스턴스 생성(생략. Debian9 선택)
시스템 업데이트
터미널
$ sudo apt-get update && sudo apt-get upgrade
RVM 및 Ruby 설치
터미널
$ sudo apt install dirmngr
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ curl -sSL https://get.rvm.io | bash -s stable --ruby
$ source /home/username/.rvm/scripts/rvm
$ rvm requirements
Rails 설치
터미널
$ gem install rails
Rails 앱 만들기
터미널
$ rails new example-app
$ cd example-app
$ bundle
passenger 설치
터미널
$ gem install passenger
$ passenger-install-apache2-module
오류 메시지에 따라 누락된 프로그램을 설치합니다.
터미널
$ sudo apt-get install libcurl4-openssl-dev
$ sudo apt-get install apache2-mpm-worker
$ sudo apt-get install apache2-dev
$ sudo apt-get install libapr1-dev
$ sudo apt-get install libaprutil1-dev
$ sudo apt-get install apache2
다시, apache2-module을 설치 (상당히 시간이 걸린다)
터미널
$ passenger-install-apache2-module
apache 설정 파일 확인 (username은 환경에 따라 다름)
터미널
$ passenger-install-apache2-module --snippet
LoadModule passenger_module /home/username/.rvm/gems/ruby-2.6.3/gems/passenger-6.0.2/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /home/username/.rvm/gems/ruby-2.6.3/gems/passenger-6.0.2
PassengerDefaultRuby /home/username/.rvm/gems/ruby-2.6.3/wrappers/ruby
</IfModule>
passenger.conf 작성 (username은 환경에 따라 다름)
터미널
$ vi /etc/apache2/mods-available/passenger.conf
<IfModule mod_passenger.c>
PassengerRoot /home/username/.rvm/gems/ruby-2.6.3/gems/passenger-6.0.2
PassengerDefaultRuby /home/username/.rvm/gems/ruby-2.6.3/wrappers/ruby
</IfModule>
passenger.load 생성 (username은 환경에 따라 다름)
터미널
$ vi /etc/apache2/mods-available/passenger.load
LoadModule passenger_module /home/username/.rvm/gems/ruby-2.6.3/gems/passenger-6.0.2/buildout/apache2/mod_passenger.so
000-default.conf 변경 (ip_address, username은 환경에 따라. 포트 번호 80은 기본값)
터미널
$ vi /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
ServerName ip_address:80
ServerAdmin webmaster@localhost
DocumentRoot /home/username/example-app/public
RailsEnv development
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/home/username/example-app/public">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
모듈 활성화
터미널
$ a2enmod passenger
apache 재부팅
터미널
$ sudo /etc/init.d/apache2 restart
브라우저에서 ip에 액세스
apache 오류 로그 확인 방법(참고)
터미널
$ cat /var/log/apache2/error.log
감상
중간에 다양한 오류가 발생했습니다. (bundler가 없습니다, bundler의 버전이 맞지 않습니다, apache2-mpm-worker가 없습니다, 서버 권한이 없습니다, authz_core : error 등.) 이러한 오류는 패키지 버전을 맞추고 경로를 정확하게 작성합니다. 설정 파일을 검토하여 해결했습니다. copipe뿐만 아니라 오류 로그를 구그로 원인을 확인할 수 있도록하고 싶습니다.
Reference
이 문제에 관하여(Rails+Passenger+Debian), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryokubozono/items/e9451e88f7ab5f7c11ca텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)