tôi đã triển khai thành công một ứng dụng nặng Rails để Linode hoặc Digital Dương, sử dụng các công nghệ này:
- rbenv cho việc cài đặt của Ruby
- nginx + Hành khách cho máy chủ ứng dụng
- PostgreSQL cho máy chủ cơ sở dữ liệu
- Capistra không để tự động hóa triển khai (cấu hình này đầu tiên trên máy dev của bạn với IP máy chủ và các thiết lập của bạn, tôi sẽ không bao gồm nó ở đây)
Đây là những bước mà làm việc cho tôi:
Thiết lập ảo máy
tạo một máy ảo mới
Thực hiện theo các hướng dẫn thiết lập lưu trữ của bạn, là Linode hoặc Digital Dương, để tạo ra các nút và thiết lập nó.
Thiết lập ngày
Cập nhật gói
- apt-get update
- apt-get upgrade
an
Tạo người dùng
- adduser triển khai
- usermod -a -G sudo triển khai
- logout
Thiết lập SSH key-authentication
On địa phương:
- ssh-keygen
- bản sao chìa khóa công cộng:
Trên máy chủ:
- ssh [email protected]
- kích hoạt bí danh để liệt kê các file:
- vim ~/.bashrc
- bỏ ghi chú tất cả các bí danh
- mkdir .ssh
- id_rsa mv. pub .ssh/authorized_keys
- chown -R triển khai: triển khai .ssh
- chmod 700 .ssh
- chmod 600.ssh/authorized_keys
- logout (kiểm tra xác nhận mới)
Thiết lập SSH
- sudo vim/etc/ssh/sshd_config
- Chuyển PermitRootLogin để không có dịch vụ
- sudo ssh restart
Thiết lập tường lửa
Thiết lập fail2ban
Thiết lập nếu bạn có đủ tự do bộ nhớ, vì nó có xu hướng ăn nó.
- sudo apt-get install -y fail2ban
cài đặt của Ruby
Cài đặt Git
- sudo apt-get install -y git
Install rbenv
Cài đặt của Ruby
- sudo apt-get install -y curl gnupg xây dựng cần thiết
- rbenv cài đặt -l (tìm kiếm phiên bản mới nhất)
- rbenv cài đặt 2.3.3 (hoặc phiên bản mới nhất hiện có tại thời điểm này)
- rbenv toàn cầu 2.3.3
- rbenv rehash
- vim .gemrc
- Dán này: đá quý: --no-tài liệu
máy chủ cài đặt
Cài đặt nginx + Hành khách
Cài đặt PostgreSQL
- Cài đặt sau khi tài liệu:
Cài đặt thư viện
Cài đặt Node.js
cần thiết để sẵn biên dịch tài sản.
- sudo apt-get install -y nodejs
Install bundler
- get install bundler
- rbenv rehash
Cài đặt ứng dụng
Tạo người sử dụng trong PostgreSQL
- tên CreateUser --pwprompt
- createdb -Ousername -Eutf8 db_name
- thử nghiệm nó:
- psql db_name --user tên --password
Triển khai mã * Trên máy chủ: * sudo mkdir -p /srv/yoursite.com * sudo chown triển khai: triển khai /srv/yoursite.com * Trên máy dev của bạn: * bó exec triển khai sản xuất mũ: kiểm tra (nó sẽ ném một lỗi vì nó không tìm thấy cơ sở dữ liệu) * Trên máy chủ: * cd /srv/yoursite.com/shared/config * vim database.yml (dán cấu hình cơ sở dữ liệu của bạn) * vim secrets.yml (dán cấu hình bí mật của bạn) * Trên máy tính cá nhân của bạn: * triển khai sản xuất mũ bó triển khai * sản xuất mũ exec mỗi khi: cập nhật ate_crontab
Configure logrotate
Nguồn
2012-11-18 20:10:44
tôi đã viết một ebook về chủ đề này (thiết lập một máy chủ từ đầu và triển khai một ứng dụng bằng tay bằng cách sử dụng nginx/Unicorn/MySQL/rbenv stack). Nó được thiết kế để giúp bạn hiểu mọi thứ trong quy trình này hoạt động như thế nào dưới mui xe và nó miễn phí cho những người trong danh sách gửi thư của tôi - bạn có thể tải nó ở đây (http://www.relativkreativ.at/ebook). –