Django服务器平台搭建

  1. 买云服务器,选择Ubuntu系统
  2. 设置ssh登陆, windows平台通过Putty登陆Ubuntu云服务器. [ https://blog.csdn.net/gsls200808/article/details/49778959 ]
  3. 软件安装
    1. 系统软件升级和 数据库软件,服务区软件安装: Sudo apt-get update ,sudo apt-get upgrade ,sudo apt-get install mysql-server-5.7 , nignx ,python3-pip
    2. Python包安装,: pip3 install Django==1.10.5 gunicorn Django-crontab 等等 Django项目需要的python包文件
  4. Git 设置. Git用于将编写的源代码同步到服务器,这里也可以采用其他方式。只需要把编写的Django源代码传到服务器下即可。
  5. 安装 nginx , gunicorn 。Nginx 用作代理服务器 ; gunicorn 用作wsgi 服务器
  6. 配置nginx。 Nginx默认的安装目录在 /etc/nginx/.

    nginx配置文件的路径: `/etc/nginx/sites-available/` : 先把配置文件放在这里,编辑好之后,链接到目录 `/etc/nginx/sites-enable/`

    ngixn 配置文件内容:

        server{

         listen 80;

            server_name 127.0.0.1; #访问django项目的网站

            access_log /var/www/Django_project /log/nginx.access.log;#访问日志

            error_log /var/www/ Django_project /log/nginx.error.log;#错误日志    

            location /static/ {

         root /var/www/ Django_project /;

                expires 30d;

         }

            location /media/ {

         alias /var/www/ Django_project /uploads/; #Django 项目接受上传文件的目录

                expires 30d;

         }

         location / {

         #动态请求交给gunicorn,8087端口就是gunicorn用的端口

                proxy_pass http://127.0.0.1:8087;            

                proxy_set_header Host $host;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

         }

        }

  7. 启动django 工程的服务,在Django_project 工程目录下执行: gunicorn -t 120 -w 2 -b 127.0.0.1:8087 Django_project.wsgi 。 Django的setting.py中要将服务器IP地址添加到ALLOWED_HOSTS。
  8. 如果没有问题的,现在可以在客户端浏览器中输入服务器IP地址就能看到完整的页面了

     

     

    附: Mysql数据库相关命令

根据setting.py文件的配置,创建数据库和相应的用户,需要的使用的命令如下:

登陆mysql数据库客户端 mysql -u root -h localhost -p,安装mysql时,根据提示设置root账户的密码,这里使用root账号登录

创建数据库 utf-8 字符编码

CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

查看,修改数据库编码

use database_name;

show variables like 'character_set_database';

alter database <数据库名> character set utf8;

删除数据库

Drop database db_name;

创建MYSQL 用户

CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password';

授权

GRANT privileges ON databasename.tablename TO 'username'@'host'

其中的privileges包括 select , delete , update 等权限,Django操作数据库需要全部的权限,可参考如下命令

GRANT ALL ON `discuz`.* TO 'discuz'@'localhost';

查看用户权限:

show grants for username@'localhost';

 

 

gunicorn 配置

gunicorn 可简单配置为

gunicorn –b 0.0.0.0:8999 dj.wsgi

执行命令之后,可以在浏览器访问页面,访问地址: 服务器IPx.x.x.x:8999,但是看不到静态文件(图片,CSSJS等)。静态文件的路径需要在nginx中配置。

参考连接 http://blog.51cto.com/10452483/1769749

 

nginx配置

Django文件的路径 最好是放在 /var/www/ 目录下,否则访问静态文件可能因为权限问题出现 403 forbidden error 错误,可以使用root账号来减小出现这种错误的可能。参考链接 http://blog.51yip.com/apachenginx/1512.html

nginx配置文件的路径

/etc/nginx/sites-available/ : 先把配置文件放在这里,编辑好之后,链接到目录 /etc/nginx/sites-enable/

简单的配置文件如下:

server 

{

    listen 80;

    location /static/ {

        alias /var/www/static/;  # 静态文件目录
					

    }

    location / {

        proxy_pass http://127.0.0.1:8999;

    }

}

不出意外应该是可以在浏览器端(访问地址: x.x.x.x)看到完整的页面了。另外要特别注意服务器开放的端口号有哪些。比如阿里云默认开放的端口号为 3389,需要自行设置一下,开放相应端口号,以免出现无法访问的问题。

 

posted @ 2018-03-15 09:40  BH78  阅读(640)  评论(0编辑  收藏  举报