|
| 1 | +<ol class="toc"> |
| 2 | + <li>1. <a href="#introduction">Introduction</a></li> |
| 3 | + <ul class="toc2"> |
| 4 | + <li>1.1 <a href="#our-deployment">Our Deployment</a></li> |
| 5 | + <li>1.2 <a href="#deployment-automation">Deployment Automation</a></li> |
| 6 | + <li>1.3 <a href="#services-and-code-well-use">Services and Code We'll Use</a></li> |
| 7 | + </ul> |
| 8 | + <li>2. <a href="#servers">Servers</a></li> |
| 9 | + <ul class="toc2"> |
| 10 | + <li>2.1 <a href="#hosting-options">Hosting Options</a></li> |
| 11 | + <li>2.2 <a href="#what-are-virtualized-servers">What are Virtualized Servers?</a></li> |
| 12 | + <li>2.3 <a href="#obtain-your-virtual-server">Obtain Your Virtual Server</a></li> |
| 13 | + <li>2.4 <a href="#create-public-and-private-keys">Create Public and Private Keys</a></li> |
| 14 | + <li>2.5 <a href="#boot-and-secure-the-server">Boot and Secure the Server</a></li> |
| 15 | + <li>2.6 <a href="#upload-public-ssh-key">Upload Public SSH Key</a></li> |
| 16 | + <li>2.7 <a href="#restart-ssh-service">Restart SSH Service</a></li> |
| 17 | + <li>2.8 <a href="#automate-server-configuration">Automate Server Configuration</a></li> |
| 18 | + <li>2.9 <a href="#run-fabric-script">Run Fabric Script</a></li> |
| 19 | + <li>2.10 <a href="#more-server-resources">More Server Resources</a></li> |
| 20 | + </ul> |
| 21 | + <li>3. <a href="#operating-systems">Operating Systems</a></li> |
| 22 | + <ul class="toc2"> |
| 23 | + <li>3.1 <a href="#ubuntu">Ubuntu</a></li> |
| 24 | + <li>3.2 <a href="#install-system-packages">Install System Packages</a></li> |
| 25 | + <li>3.3 <a href="#enable-firewall">Enable Firewall</a></li> |
| 26 | + <li>3.4 <a href="#ansible">Ansible</a></li> |
| 27 | + <li>3.5 <a href="#more-os-and-ansible-resources">More OS and Ansible Resources</a></li> |
| 28 | + </ul> |
| 29 | + <li>4. <a href="#web-servers">Web Servers</a></li> |
| 30 | + <ul class="toc2"> |
| 31 | + <li>4.1 <a href="#nginx">Nginx</a></li> |
| 32 | + <li>4.2 <a href="#visualizing-nginxs-purpose">Visualizing Nginx's Purpose</a></li> |
| 33 | + <li>4.3 <a href="#install-nginx">Install Nginx</a></li> |
| 34 | + <li>4.4 <a href="#domain-name-service-resolution">Domain Name Service Resolution</a></li> |
| 35 | + <li>4.5 <a href="#nginx-without-https">Nginx Without HTTPS</a></li> |
| 36 | + <li>4.6 <a href="#create-ssl-certificate">Create SSL Certificate</a></li> |
| 37 | + <li>4.7 <a href="#restart-nginx-with-new-configuration">Restart Nginx with New Configuration</a></li> |
| 38 | + <li>4.8 <a href="#automate-nginx-configuration">Automate Nginx Configuration</a></li> |
| 39 | + <li>4.9 <a href="#more-web-server-resources">More Web Server Resources</a></li> |
| 40 | + </ul> |
| 41 | + <li>5. <a href="#source-control">Source Control</a></li> |
| 42 | + <ul class="toc2"> |
| 43 | + <li>5.1 <a href="#hosted-source-control-services">Hosted Source Control Services</a></li> |
| 44 | + <li>5.2 <a href="#create-deploy-key">Create Deploy Key</a></li> |
| 45 | + <li>5.3 <a href="#authorize-git-clone-access">Authorize Git Clone Access</a></li> |
| 46 | + <li>5.4 <a href="#clone-app-code">Clone App Code</a></li> |
| 47 | + <li>5.5 <a href="#automate-source-control">Automate Source Control</a></li> |
| 48 | + <li>5.6 <a href="#more-source-control-git-resources">More Source Control & Git Resources</a></li> |
| 49 | + </ul> |
| 50 | + <li>6. <a href="#databases">Databases</a></li> |
| 51 | + <ul class="toc2"> |
| 52 | + <li>6.1 <a href="#postgresql">PostgreSQL</a></li> |
| 53 | + <li>6.2 <a href="#nosql-data-stores">NoSQL Data Stores</a></li> |
| 54 | + <li>6.3 <a href="#redis">Redis</a></li> |
| 55 | + <li>6.4 <a href="#automate-postgresql-redis-installations">Automate PostgreSQL & Redis Installations</a></li> |
| 56 | + <li>6.5 <a href="#more-database-resources">More Database Resources</a></li> |
| 57 | + </ul> |
| 58 | + <li>7. <a href="#application-dependencies">Application Dependencies</a></li> |
| 59 | + <ul class="toc2"> |
| 60 | + <li>7.1 <a href="#our-deployment-dependencies">Our Deployment Dependencies</a></li> |
| 61 | + <li>7.2 <a href="#virtualenv-requirementstxt">Virtualenv & requirements.txt</a></li> |
| 62 | + <li>7.3 <a href="#create-the-virtualenv">Create the Virtualenv</a></li> |
| 63 | + <li>7.4 <a href="#install-app-dependencies">Install App Dependencies</a></li> |
| 64 | + <li>7.5 <a href="#sync-database">Sync Database</a></li> |
| 65 | + <li>7.6 <a href="#automate-dependency-installation">Automate Dependency Installation</a></li> |
| 66 | + <li>7.7 <a href="#more-application-dependency-resources">More Application Dependency Resources</a></li> |
| 67 | + </ul> |
| 68 | + <li>8. <a href="#wsgi-servers">WSGI Servers</a></li> |
| 69 | + <ul class="toc2"> |
| 70 | + <li>8.1 <a href="#what-is-wsgi">What is WSGI?</a></li> |
| 71 | + <li>8.2 <a href="#configure-gunicorn">Configure Gunicorn</a></li> |
| 72 | + <li>8.3 <a href="#start-gunicorn-with-supervisor">Start Gunicorn with Supervisor</a></li> |
| 73 | + <li>8.4 <a href="#our-app-is-live">Our App is Live!</a></li> |
| 74 | + <li>8.5 <a href="#automate-gunicorn-configuration">Automate Gunicorn Configuration</a></li> |
| 75 | + <li>8.6 <a href="#more-wsgi-resources">More WSGI Resources</a></li> |
| 76 | + </ul> |
| 77 | + <li>9. <a href="#task-queues">Task Queues</a></li> |
| 78 | + <ul class="toc2"> |
| 79 | + <li>9.1 <a href="#celery">Celery</a></li> |
| 80 | + <li>9.2 <a href="#automate-celery-install">Automate Celery Install</a></li> |
| 81 | + <li>9.3 <a href="#more-task-queue-resources">More Task Queue Resources</a></li> |
| 82 | + </ul> |
| 83 | + <li>10. <a href="#continuous-integration">Continuous Integration</a></li> |
| 84 | + <ul class="toc2"> |
| 85 | + <li>10.1 <a href="#jenkins">Jenkins</a></li> |
| 86 | + <li>10.2 <a href="#provision-a-new-server-for-ci">Provision A New Server for CI</a></li> |
| 87 | + <li>10.3 <a href="#ansible-automation-tweak">Ansible Automation Tweak</a></li> |
| 88 | + <li>10.4 <a href="#install-jenkins-system-package">Install Jenkins System Package</a></li> |
| 89 | + <li>10.5 <a href="#secure-jenkins">Secure Jenkins</a></li> |
| 90 | + <li>10.6 <a href="#create-ci-deploy-key">Create CI Deploy Key</a></li> |
| 91 | + <li>10.7 <a href="#configure-jenkins-build-job">Configure Jenkins Build Job</a></li> |
| 92 | + <li>10.8 <a href="#go-ahead-push-some-new-code">Go Ahead, Push Some New Code</a></li> |
| 93 | + <li>10.9 <a href="#more-continuous-integration-resources">More Continuous Integration Resources</a></li> |
| 94 | + </ul> |
| 95 | + <li>11. <a href="#whats-next">What's Next?</a></li> |
| 96 | + <li><a href="#appendix-a-glossary">Appendix A: Glossary</a></li> |
| 97 | + <li><a href="#appendix-b-more-python-resources">Appendix B: More Python Resources</a></li> |
| 98 | + <li><a href="#appendix-c-sample-app-tutorial">Appendix C: Sample App Tutorial</a></li> |
| 99 | +</ol> |
0 commit comments