-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Ricky Ng-Adam edited this page Aug 11, 2016
·
27 revisions
Based on:
Reasonable package management on the host machine.
On MacOS X, http://brew.sh
Basics: using vim (finish vimtutor) & bash
We've selected Ubuntu 14.04 as our preferred Linux distribution.
We use vagrant to create VM:
- Install vagrant (https://www.vagrantup.com/docs/installation/)
$ brew cask install virtualbox
$ brew cask install vagrant
$ brew cask install vagrant-manager
-
vagrant box add ubuntu/trusty64
(this installs the image for Ubuntu 14.04) - in a new directory:
vagrant init ubuntu/trusty64
vagrant up
vagrant ssh
Overall goal:
- Setup 3-tier WebApp architecture and optimize:
- Webserver: (NGINX)
- Application server (NodeJS)
- database (PostgreSQL)
...also, add data analysis (Jupyter).
Meta: collect, analysis, report on data generated by the system itself
- optimize for China (packages from Chinese mirrors)
- configure timezone for China (make sure to use NTP)
- security
- automate setup and installation
- test different workloads
- benchmark and tune operating system and each tier
- depending on simulated load and hardware profile, select:
- sysctl settings tweaks
- service configuration and optimization
- filesystem / configuration
- VPN setup
- services monitoring
- load monitoring (memory, disk, cpu)
- log monitoring
- networking configuration
- firewall configuration
Measurement/test
- transactions or queries per second
- setup and install an instance of Ubuntu 14.04 LTS Server with Internet connectivity
- list all services running
- update packages source
- install nginx, postgresql and nodejs
- list all services running
- list files installed by nginx using the package manager
- make sure that nginx is up, running and listening to port 80
- from your own host and using your browser, access http://localhost and make sure the above serves the nginx welcome page
- change the nginx webserver configuration to serve your own index.html file
- make sure that Postgresql is up
- create a database
- using port forwarding, access this database using the pgadmin3 GUI from your workstation