Ubuntu14 部署python项目

说明:

安装nginx

$ sudo apt-get install nginx

创建代码运行的虚拟机环境

创建虚拟环境

# 安装环境管理软件virtualenv
$ sudo python -m pip install virtualenv

解析域名到服务器的 IP 地址

https://dc.console.aliyun.com/next/index?spm=5176.12818093.my.ddomain.488716d0T5t1az&accounttraceid=35e46838-eca8-4bfc-9883-93191c6575fa#/domain/list/all-domain

 

#创建目录并进入该目录
$ mkdir -p ~/sites/taohuayuan.fun
$ cd sites/taohuayuan.fun/

# 接下来创建虚拟环境,先进入到 demo.zmrenwu.com 目录下,然后运行 virtualenv 命令创建虚拟环境: $ sudo virtualenv --python=python3.6 env
# 激活环境 $ source env/bin/activate
# 拉取代码
$ sudo apt-get install git $ sudo git clone https:
//github.com/libaoshan55/MxOnline.git $ cd MxOnline/ #安装环境依赖文件
$ sudo apt-get install  libmysqlclient-dev $
sudo python -m pip install -r requirements.txt # 虚拟环境下继续运行 python manage.py collectstatic 命令收集静态文件到 static 目录下: $ sudo python manage.py collectstatic # 清掉数据库文件 $ sudo find . -path "*/migrations/*.py" -not -name "__init__.py" -delete $ sudo find . -path "*/migrations/*.pyc" -delete
# 创建数据库
$ create database mxonline; # 创建数据库文件
$ sudo python manage.py makemigrations $ sudo python manage.py migrate # 创建超级用户,方便后台管理 $
sudo python manage.py createsuperuser

 配置 Nginx

# 新建配置文件
$ sudo vim /etc/nginx/sites-available/www.taohuayuan.fun
server {
    charset utf-8;
    listen 80;
    server_name taohuayuan.fun; 

    location /static { 
        alias /home/libaoshan/sites/www.taohuayuan.fun/MxOnline/static;
    }

    location / { 
        proxy_set_header Host $host;
        proxy_pass http://unix:/tmp/www.taohuayuan.fun.socket;
    }
}

注:将
proxy_pass http://unix:/tmp/www.taohuayuan.fun.socket; 中www.taohuayuan.fun.socket改为ip后仍未生效,域名或者服务器备案问题。

我们在 /etc/nginx/sites-available/ 放置了配置文件,接下来需要创建一个符号链接,把这个配置文件加入到启用的网站列表中去,被启用网站的目录在 /etc/nginx/sites-enabled/,你可以理解为从 sites-available/ 目录下发送了一个配置文件的快捷方式到 sites-enabled/ 目录。具体命令如下:

$ sudo ln -s /etc/nginx/sites-available/www.taohuayuan.fun /etc/nginx/sites-enabled/www.taohuayuan.fun

删除default文件

这个问题也困扰了很久,最终发现是sites-enabled文件夹里默认的default文件中的配置覆盖了自己写的配置,导致配置不生效,把default文件删掉

重启nginx服务

$  sudo service  nginx stop
$  sudo service  nginx start

使用 gunicorn

在虚拟环境下,安装 Gunicorn:

$ sudo python -m pip --default-timeout=100 install gunicorn
启用 Gunicorn 启动服务器进程:
$ cd /home/libaoshan/sites/taohuayuan.fun/MxOnline
$
sudo gunicorn --bind unix:/tmp/www.taohuayuan.fun.socket MxOnline.wsgi:application

 

posted @ 2019-08-04 17:33  CN海盗船长  阅读(504)  评论(0编辑  收藏  举报