mirror of https://github.com/mitsuhiko/flask.git
Tyler
7 years ago
1 changed files with 66 additions and 0 deletions
@ -0,0 +1,66 @@ |
|||||||
|
Dreamhost Setup |
||||||
|
=============== |
||||||
|
|
||||||
|
These instructions are specifically for deploying to Dreamhost. |
||||||
|
|
||||||
|
1. Add hosting to a new domain in the ``Manage Domains`` tab of your |
||||||
|
control panel. |
||||||
|
|
||||||
|
2. During setup, click the ``Passenger (Ruby/NodeJS/Python apps only):`` |
||||||
|
checkbox to enable Phusion Passenger on your domain. |
||||||
|
|
||||||
|
3. Set up the user as a shell user in the ``Users > Manage Users`` tab |
||||||
|
in the control panel. Dreamhost users default to SFTP only. |
||||||
|
|
||||||
|
4. SSH into your new server. Clone the repository into your site’s |
||||||
|
directory. It will look like |
||||||
|
``/home/dh_username/something.domain.com``. |
||||||
|
|
||||||
|
:: |
||||||
|
|
||||||
|
cd /home/dh_username/something.domain.com |
||||||
|
git clone https://github.com/username/project-name.git project-name |
||||||
|
|
||||||
|
5. `Install a custom version of Python |
||||||
|
3. <https://help.dreamhost.com/hc/en-us/articles/115000702772-Installing-a-custom-version-of-Python-3>`__ |
||||||
|
|
||||||
|
6. `Set up a new |
||||||
|
virtualenv <https://help.dreamhost.com/hc/en-us/articles/115000695551-Installing-and-using-virtualenv-with-Python-3>`__ |
||||||
|
in a separate directory inside |
||||||
|
``/home/dh_username/something.domain.com/project-name/venv``. |
||||||
|
|
||||||
|
7. With your virtualenv activated (refer to step 4 for help), install |
||||||
|
`Flask <http://flask.pocoo.org/>`__ with ``pip3 install Flask`` |
||||||
|
|
||||||
|
8. You’ll want to create a ``passenger_wsgi.py`` file in |
||||||
|
``/home/dh_username/something.domain.com/`` with these contents, |
||||||
|
modified for your username, project name, or any other directory |
||||||
|
differences you have. |
||||||
|
|
||||||
|
:: |
||||||
|
|
||||||
|
import sys, os |
||||||
|
# |
||||||
|
INTERP = "/home/dh_username/something.domain.com/project-name/venv/bin/python3" |
||||||
|
#INTERP is present twice so that the new Python interpreter knows the actual executable path |
||||||
|
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv) |
||||||
|
sys.path.append(os.getcwd()) |
||||||
|
|
||||||
|
sys.path.append('project-name') |
||||||
|
import project-name |
||||||
|
|
||||||
|
application = project-name.create_app() |
||||||
|
|
||||||
|
This assumes that when you clone your project, the \_\ *init\_*.py file |
||||||
|
is in the project-name directory, since you’ll need to import it as a |
||||||
|
module. |
||||||
|
|
||||||
|
9. In your site’s root directory, do the following |
||||||
|
|
||||||
|
:: |
||||||
|
|
||||||
|
mkdir tmp |
||||||
|
touch tmp/restart.txt |
||||||
|
|
||||||
|
Every time you make changes to your Passenger app, touch |
||||||
|
``tmp/restart.txt``\ to restart. |
Loading…
Reference in new issue