zoukankan      html  css  js  c++  java
  • Ubuntu16.04配置Django服务器环境

    本环境是使用Ubuntu16.04+Django2.1.0+python3.6+uwsgi+nginx进行配置

    1. 安装python3.6

    Ubuntu16.04中原本安装的是python3.5,但是我们运行环境使用python3.6比较好,有的库3.5是用不了的,安装过程如下:

    首先安装python3.6,在terminal中输入

    sudo apt-get install software-properties-common
    sudo add-apt-repository ppa:jonathonf/python-3.6 #如果这个访问不了的话就换成这个 sudo add-apt-repository ppa:fkrull/deadsnakes
    sudo apt-get update 
    sudo apt-get install python3.6
    

    现在在命令行中输入python3得到的python版本仍然是python3.5,所以我们需要一处原来的快捷方式

    cd /usr/bin
    rm python3
    

    然后再创建快捷方式

    ln -s python3.6 python3
    

    输入python3可以得到我们想要的结果

    ![屏幕快照 2019-06-25 上午9.58.20](https://github.com/lcs1998/lcs1998.github.io/blob/master/img/屏幕快照 2019-06-25 上午9.58.20.png?raw=true)

    然后在terminal中输入如下命令安装pip3即可

    apt-get install python3-pip
    

    image-20190625095952455

    pip3 install django==2.1.0
    

    2. 安装git

    因为我们需要完成网站代码版本管理,也是为了能够比较方便地更新服务器代码,所以我们在服务器上安装git

    首先在terminal中直接输入

    sudo apt-get install git
    

    安装好之后需要设置邮箱和用户名

    git config --global user.name "Your Name"
    git config --global user.email "email@example.com"
    

    如果你的项目是私有项目的话还需要生成SSH公钥,具体请点击这里查看教程。

    3. 安装MySQL

    我们后端的数据库使用的是mysql,在ubuntu上安装比较简单,只需要几条命令即可。

    sudo apt-get install mysql-server
    apt-get install mysql-client
    sudo apt-get install libmysqlclient-dev
    

    现在在terminal中输入mysql可以直接进入mysql,接下来我们要设置密码,首先进入进入mysql,然后输入如下代码

    use mysql;
    
    update user set authentication_string=PASSWORD("这里输入你要改的密码") where User='root'; #更改密码
    update user set plugin="mysql_native_password"; #如果没这一行可能也会报一个错误,因此需要运行这一行
    
    flush privileges; #更新所有操作权限
    exit
    

    现在在terminal中输入

    mysql -u root -p
    

    然后输入你刚刚设置的密码即可登录进数据库,加下来我们要配置允许数据库进行远程连接,方便我们进行调试

    mysql -u root -p
    
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    
    FLUSH PRIVILEGES;
    
    sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf //注释掉bind-address = 127.0.0.1
    
    service mysql restart
    

    现在你就可以远程连接数据库了。(记得打开服务器3306安全组)

    4. 安装uwsgi

    直接pip3安装就可以

    sudo apt-get install python3.6-dev # 因为我们之前安装的是python3.6,所以这里安装python3.6-dev
    pip3 install uwsgi
    

    接下来测试uwsgi是否能使用,实现使用git将你的项目clone到home文件夹中,然后在terminal中执行如下命令

    uwsgi --chdir 你的项目路径 --http :8001 --module 你的项目名称.wsgi:application
    

    这时候打开 你的IP:8001,如果打不开,请开放8001安全组,接下来再打开网页的话应该是可以正常访问的

    5.安装node

    如果项目前端使用的是vue,还要安装nodejs

    sudo apt-get install nodejs
    sudo apt-get install python3.6-gdbm # 与你装的python版本相同
    sudo apt install nodejs-legacy
    sudo apt-get install npm
    npm config set registry http://registry.npm.taobao.org/
    npm install -g @vue/cli
    

    6. 安装nginx

    sudo apt-get install -y python3.6-dev
    apt install nginx
    

    等待一会就可以安装完毕,安装完成之后执行如下命令

    cd /etc/nginx/sites-enabled/
    sudo rm default
    cd ..
    cd sites-available/
    vim mysite.conf
    

    在打开的文件中输入如下内容

    server {
        listen 443;
        server_name mysite;
        charset utf-8;
    
        client_max_body_size 75M;
    
        location /static {
            alias /home/你的项目名称/static;
        }
    
        location /media {
            alias /home/你的项目名称/media;
        }
        
        location / {
            uwsgi_pass  127.0.0.1:8001;
            include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
        }
    }
    
    

    然后再继续输入命令:

    cd /home
    mkdir mysite_uwsgi
    cd mysite_uwsgi
    vim mysite.ini
    
    

    在打开的文件中输入如下内容

    [uwsgi]
    chdir = /home/你的项目名称
    module = 你的项目名称.wsgi:application
    
    master=True
    processes = 4
    harakiri = 60
    max-requests = 5000
    
    socket = 127.0.0.1:8001
    uid = 1000
    gid = 2000
    
    pidfile = /home/mysite_uwsgi/master.pid
    deamonize=/home/mysite_uwsgi/mysite.log
    vacuum=True
    
    

    这个时候启动uwsgi,输入

    uwsgi --ini /home/mysite_uwsgi/mysite.ini
    
    

    运行成功之后再输入

    ps -aux | grep uwsgi
    
    

    若进程显示如图所示,则表示配置成功

    image-20190625133431684

    再执行如下命令

    ln -s /etc/nginx/sites-available/mysite.conf  /etc/nginx/sites-enabled/mysite.conf
    service nginx restart
    
    

    这个时候访问你的ip应该就能正常访问了

    我不管,JS天下第一
  • 相关阅读:
    python抓取网页图片
    Socket通信之Java学习(一)
    python打包成window可执行程序
    linux下安装java
    SpringBoot系列:五、SpringBoot使用Actuator
    SpringBoot系列:四、SpringBoot集成JPA
    SpringBoot系列:三、SpringBoot中使用Filter
    SpringBoot系列:二、SpringBoot的配置文件
    SpringBoot系列:一、SpringBoot搭建
    .Net Core使用IConfiguration来处理Json文件
  • 原文地址:https://www.cnblogs.com/Jacob98/p/11250687.html
Copyright © 2011-2022 走看看