前面已经申请了服务器也绑定了域名,本期视频里面,我就来就把 peatio 代码部署到服务器之上。参考资料是 官方给的部署文档 。文档上的内容都是精心整理过的,直接执行都是可以成功的。内容很多,好在本视频中我只是要让 peatio 可以基本跑起来就好,所以一些涉及局部功能的工具,等后面演示网站相应部分的功能时再去安装,这样比较能直观的看出它们各自的作用。
本期中会完成下面步骤:
1. Setup deploy user
2. Install Ruby
3. Install MySQL
4. Install Redis
7. Install Nginx with Passenger
8. Install JavaScript Runtime
10. Configure Peatio # 相关的部分
暂时不做:
5. Install RabbitMQ
6. Install Bitcoind
9. Install ImageMagick
除非特殊提出,下面的操作步骤是和文档上 100% 一样的。
安装 ruby 语言和数据库
首先执行 1. Setup deploy user
中的内容
sudo adduser deploy
sudo usermod -a -G sudo deploy
su deploy
接下来,执行 2. Install Ruby
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git-core curl zlib1g-dev build-essential \
libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 \
libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties
cd
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
rbenv install 2.1.2
rbenv global 2.1.2
echo "gem: --no-ri --no-rdoc" > ~/.gemrc
gem install bundler
rbenv rehash
下面安装数据库 3. Install MySQL
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
过程中设置 mysql 的 root 用户密码为:111111 。当然建议你选择一个更为安全的。
再来 4. Install Redis
sudo apt-add-repository -y ppa:rwky/redis
sudo apt-get update
sudo apt-get install redis-server
安装服务器及其他工具
具体是指下面两步:
7. Installing Nginx & Passenger
8. Install JavaScript Runtime # 这个是 rails 程序自己要用的
依照文档,依次执行:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo apt-get install apt-transport-https ca-certificates
sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main'
sudo apt-get update
sudo apt-get install nginx-extras passenger
之后,执行
sudo vim /etc/nginx/nginx.conf
将下面两个去掉注释:
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /usr/bin/ruby;
第二行替换为:
passenger_ruby /home/deploy/.rbenv/shims/ruby;
最后来安装 nodejs
sudo apt-get install nodejs
配置数据库和服务器
也就是这一部分
10. Setup production environment variable
前面几个命运都要执行:
echo "export RAILS_ENV=production" >> ~/.bashrc
source ~/.bashrc
mkdir -p ~/peatio
git clone git://github.com/peatio/peatio.git ~/peatio/current
cd peatio/current
# Install dependency gems
bundle install --without development test --path vendor/bundle
然后准备配置文件:
bin/init_config
下面修改 pusher 的配置(这个是临时性的,但是如果不改后面执行 rake 的时候就会报错):
vim config/application.yml
将这几行:
# PUSHER_APP: 65910
# PUSHER_KEY: 50d404c35db92d736a57
# PUSHER_SECRET: 75d6e6685209cc60cc4d
PUSHER_APP: YOUR_PUSHER_APP
PUSHER_KEY: YOUR_PUSHER_KEY
PUSHER_SECRET: YOUR_PUSHER_SECRET
前三行注释去掉,后三行删掉。
接下来,把 database.yml 的 production
部分改为:
production:
<<: *defaults
database: peatio_production
password: 111111
运行命令创建数据库
bundle exec rake db:setup
编译 assets
bundle exec rake assets:precompile
后面的几步设置都不做,只要执行 passenger 相关的这几个命令:
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /home/deploy/peatio/current/config/nginx.conf /etc/nginx/conf.d/peatio.conf
sudo service nginx restart
但是最后重启 nginx 会失败,打开 config/nginx.conf
文件,临时性的把 SSL 相关的那几行删掉,再次运行
sudo service nginx restart
就成功了。
这样打来浏览器访问 peterandbillie.com 可以看到,我自己的这个交易所已经开始运行啦。huhaha…
结语
基本程序运行起来了,不代表所有的功能有已经能够正常使用了,后面的视频中,我会针对具体的功能点来作专门的讲解,敬请期待。