2
A
回答
3
是的,你可以使用像廚師或木偶這樣的配置工具,但在某些情況下,這些工具可能會矯枉過正。我只是在頂部有一些變量的Bash腳本,根據需要進行更改,然後將腳本傳輸到目標服務器並執行它。
nginx &乘客的實際套餐我保留在我自己的S3存儲桶中。
#!/bin/sh
# setup download location
DOWNLOAD_DIR=/tmp
NGINX="nginx-1.4.1"
NGINX_DIR=${DOWNLOAD_DIR}/${NGINX}
PASSENGER_VERSION="4.0.3"
S3HOST="your-s3-host"
# download nginx source
curl http://${S3HOST}.s3.amazonaws.com/software/${NGINX}.tar.gz -o $DOWNLOAD_DIR/${NGINX}.tar.gz
tar xzf $DOWNLOAD_DIR/${NGINX}.tar.gz --directory $DOWNLOAD_DIR
# download headers module
curl http://${S3HOST}.s3.amazonaws.com/software/headers-more-nginx-module-v0.16.zip -o $DOWNLOAD_DIR/headers-more-nginx-module-v0.16.zip
unzip $DOWNLOAD_DIR/headers-more-nginx-module-v0.16.zip -d $DOWNLOAD_DIR
# install passenger
apt-get install -y gcc g++ build-essential bison openssl libreadline6 lsof
apt-get install -y libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libpcre3-dev
apt-get install -y libyaml-dev libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev libcurl4-openssl-dev
apt-get install -y default-jre python-software-properties imagemagick
apt-get install -y ruby1.9.3 ruby1.9.1-dev libruby1.9.1 rubygems1.9.1 irb1.9.1 ri1.9.1 rdoc1.9.1 s3cmd
ln -nfs /var/lib/gems/1.9.1/bin/* /usr/bin/
gem install passenger -v ${PASSENGER_VERSION} --no-ri --no-rdoc
gem install bundler sass --no-ri --no-rdoc
# postgres client libraries
aptitude install software-properties-common -y
add-apt-repository -y ppa:pitti/postgresql
apt-get update
apt-get install -y postgresql-client-9.2 postgresql-server-dev-9.2
wget http://${S3HOST}.s3.amazonaws.com/software/passenger-enterprise-server-${PASSENGER_VERSION}.gem
gem install ./passenger-enterprise-server-${PASSENGER_VERSION}.gem --no-ri --no-rdoc
/var/lib/gems/1.9.1/gems/passenger-enterprise-server-${PASSENGER_VERSION}/bin/passenger-install-nginx-module \
--auto --prefix=/usr --nginx-source-dir=${NGINX_DIR} \
--extra-configure-flags="--conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --with-md5-asm --with-md5=/usr/include --with-sha1-asm --with-sha1=/usr/include --without-http_fastcgi_module --with-http_stub_status_module --with-http_ssl_module --add-module=${DOWNLOAD_DIR}/headers-more-nginx-module-v0.16"
# make proper folders
mkdir -p /etc/nginx/sites-enabled
mkdir -p /etc/nginx/conf.d
mkdir -p /var/tmp/nginx
mkdir -p /etc/nginx/ssl/rapidssl
mkdir -p /var/www/shared/log/old_logs
chown -R vino:vino /var/www
# cleanup the stupid files
rm /etc/nginx/*.default
# start from init script
update-rc.d nginx defaults
# cleanup
rm -rf $DOWNLOAD_DIR/nginx*
1
2
passenger-install-apache2-module支持通過命令行選項進行非交互式自動無頭安裝或升級。您可以使用這些選項來自動化答案。這是記錄在手冊中:http://www.modrails.com/documentation/Users%20guide%20Nginx.html#_non_interactive_automatic_headless_installs_or_upgrades
或者,您也可以安裝的Phusion乘客,就好像它是一個正常的Nginx的模塊,並使用正常Nginx的安裝自動化腳本:http://www.modrails.com/documentation/Users%20guide%20Nginx.html#_installing_as_a_normal_nginx_module_without_using_the_installer
相關問題
- 1. nginx的自動化/乘客安裝
- 2. 安裝Nginx與乘客安裝nginx模塊。我如何卸載?
- 3. 構建的nginx +乘客安裝失敗
- 4. 卸載由乘客安裝的nginx
- 5. Ruby:乘客+ nginx:如何安裝redmine
- 6. 帶nginx的乘客安裝失敗
- 7. 乘客安裝nginx模塊安裝錯誤
- 8. 啓用了SSL nginx的支持,同時通過PHUSION乘客寶石安裝
- 9. rvm乘客nginx
- 10. nginx與乘客
- 11. 無法安裝乘客
- 12. 乘客安裝Apache錯誤
- 13. 安裝乘客問題
- 14. 安裝Redmine的乘客
- 15. 乘客無法通過rvm安裝apache模塊
- 16. 在OS X Mountain Lion上安裝帶nginx的乘客時出錯
- 17. 乘客不會安裝官方的Ubuntu Nginx軟件包
- 18. 在linux上使用rvm在Nginx上安裝乘客的問題
- 19. 安裝乘客後Nginx重啓命令失敗
- 20. nginx proxy_pass與乘客
- 21. redmine安裝不通過nginx和瘦
- 22. RVM,乘客,在現有乘客/ NGINX之上的NGINX
- 23. 用戶啓動乘客(使用Nginx)
- 24. 乘客和Nginx不會啓動
- 25. 乘客5 Nginx X-Accel-Redirect
- 26. 的Ubuntu 17.04的nginx /乘客
- 27. 使用nginx的+乘客
- 28. Nginx未知乘客指令
- 29. RVM + Nginx +乘客在廚師
- 30. 乘客NGINX模塊失敗
您不必上傳passenger-企業寶石到S3。乘客企業客戶區中的寶石鏈接支持HTTP基本認證,因此您可以直接在腳本中引用這些URL。 – Hongli