Search this site
Embedded Files
Skip to main content
Skip to navigation
Technical Knowledgebase
Technical Knowledgebase
Choosing a Linux Distribution
Coding Convention
curl vs wget
Dynamic Authorization
MySQL data dump
Remote Collaboration with screen over ssh
Strange Things in a Developer's Life
AngularJS: Fixing unknown provider problem
Version Control Systems
X Virtual Frame Buffer command
Developer Notes
DevOps
Chef Overview
Deploying Rails on Mongodb, Redis, Puma, and Nginx
Server Provisioning
Setting up Chef Server
Setting up Chef Workstation
Workstation
Mac Development Workstation
Ubuntu Development Workstation
Unmaintained Workstation Setup Guide
CentOS Development Workstation
Debian Development Workstation
OpenSuSe Development Workstation
Technical Knowledgebase
Technical Knowledgebase
Choosing a Linux Distribution
Coding Convention
curl vs wget
Dynamic Authorization
MySQL data dump
Remote Collaboration with screen over ssh
Strange Things in a Developer's Life
AngularJS: Fixing unknown provider problem
Version Control Systems
X Virtual Frame Buffer command
Developer Notes
DevOps
Chef Overview
Deploying Rails on Mongodb, Redis, Puma, and Nginx
Server Provisioning
Setting up Chef Server
Setting up Chef Workstation
Workstation
Mac Development Workstation
Ubuntu Development Workstation
Unmaintained Workstation Setup Guide
CentOS Development Workstation
Debian Development Workstation
OpenSuSe Development Workstation
More
Technical Knowledgebase
Choosing a Linux Distribution
Coding Convention
curl vs wget
Dynamic Authorization
MySQL data dump
Remote Collaboration with screen over ssh
Strange Things in a Developer's Life
AngularJS: Fixing unknown provider problem
Version Control Systems
X Virtual Frame Buffer command
Developer Notes
DevOps
Chef Overview
Deploying Rails on Mongodb, Redis, Puma, and Nginx
Server Provisioning
Setting up Chef Server
Setting up Chef Workstation
Workstation
Mac Development Workstation
Ubuntu Development Workstation
Unmaintained Workstation Setup Guide
CentOS Development Workstation
Debian Development Workstation
OpenSuSe Development Workstation
Server Provisioning
All Servers
Linode Longview
Add private IP address
Secure the server
https://library.linode.com/securing-your-server
add admin user
change ssh port, binding
disable ssh password authentication
disable root login
create firewall
fail2ban
VPN Server
https://library.linode.com/networking/openvpn/ubuntu-12.04-precise
Keys for sysadmins
MongoDB Servers
Linode Longview
https://library.linode.com/databases/mongodb/ubuntu-12
/etc/hosts
/etc/network/interfaces
/etc/mongodb.conf
bind_ip=private_ip
port=default
fork=true
Replica Set Name
rest=true
mongo client script
rs.initiate()
reconfigure so that the primary host name is correct as necessary
rs.add("additional-replica:port")
add up to 7 voting members, 12 members total
Remote Logging
http://www.debuntu.org/how-to-remote-syslog-logging-on-debian-and-ubuntu/
Web Servers
Linode Longview
nginx
reverse proxy to puma cluster unix sockets
enforce SSL if necessary
SSL certificates
stub_status page, bind to 127.0.0.1
Ruby current stable
dependencies
no-rdoc no-ri
rubygems
bundler
Rails, Puma use syslog infrastrastructure
Remote Logging
http://www.debuntu.org/how-to-remote-syslog-logging-on-debian-and-ubuntu/
Logging Server
Log Rotation
Remote Logging
http://www.debuntu.org/how-to-remote-syslog-logging-on-debian-and-ubuntu/
NodeBalancers
Balance in TCP mode, push the SSL termination to nginx, allow port 80 and 443
Scaling Up (Clone VM method, need testing)
Mongodb Replica
clone from existing replica secondary
change the host name
add to replica set
Web Server Replica
Clone from existing vm
add to capistrano roles
add to load balancer
Monitoring
Access through VPN only
monitor all services through private IP
Report abuse
Report abuse