阿里云服务器Alibaba Cloud Linux系统安装Nginx和Passenger并部署Rails项目
阿里云服务器Alibaba Cloud Linux系统通过安装Nginx和Passenger部署Rails项目
·
接前文,下面记录最简陋的部署过程。
一、版本说明
Ruby版本:2.7.8
Rails版本:5.1.7
二、安装Nginx和Passenger
这里,先安装Passenger,因为装了Ruby,所以这里通过Gem来安装Passenger,执行:
gem install passenger
等待安装完成后,通过Passenger来安装Nginx,可以省不少力,执行:
passenger-install-nginx-module
这里,出现了一个报错:
Tasks: TOP => nginx => nginx_without_native_support
=> buildout/support-binaries/PassengerAgent
=> buildout/support-binaries/CoreMain.o
研究了半天,发现新机忘了配置Swap分区了,也可能我的破机子内存太小了。下面分配一点Swap分区:
sudo dd if=/dev/zero of=/swap bs=1024 count=1024000
sudo mkswap /swap && sudo swapon /swap
结果可以通过free -m命令查看。
然后再执行安装Nginx命令就完成了。
三、部署Ruby on Rails项目
假设Rails项目叫demo,已经预编译好了,我习惯把它放在/opt/app/demo这样的目录下。
然后找到Nginx的配置文件,按前文装完的话,路径应该在:/opt/nginx/conf/nginx.conf
打开配置文件,里面其实已经有很多样例了,Passenger的一些基本配置也已经有了。最简陋的配置可以这样:
找到http{……}这一部分,新建一个server,比如这样:
server {
listen 12345;
server_name localhost;
root /opt/app/demo/public/;
server_tokens off;
passenger_enabled on;
passenger_min_instances 3;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
这边注意,比如这里端口号用了12345,那记得去阿里云的安全组里把这个端口放行。
最后,执行Nginx启动命令:
/opt/nginx/sbin/nginx
网站就可以访问了。
更多推荐
已为社区贡献2条内容
所有评论(0)