linux下搭建django记录笔记,未完稿,节后继续

时间:2022-05-04
本文章向大家介绍linux下搭建django记录笔记,未完稿,节后继续,主要内容包括1:更新apt-get、2.安装Django、3.安装 Nginx、4.安装 uwsgi、5.创建个Django项目+app、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

使用ECS服务,有时需要更新apt-get,故先要先执行第一步 使用:SSH连接

1:更新apt-get

#sudo apt-get update

  当用apt-get更新软件包时常出现错误提示Unable to locate package update, 尤其是在ubuntu server上,解决方法是: 先更新apt-get #sudo apt-get update 执行完后,问题就解决了。 继续更新: #sudo apt-get upgrade

2.安装Django

(这里使用的是pip,当然easy_install也是可以的)

sudo pip install django==1.9

3.安装 Nginx

更新后才有效

sudo apt-get install nginx

报错形式:http://maizime.top/

4.安装 uwsgi

sudo apt-get install uwsgi

可以通过下面命令,查看 Linux环境下,怎么确定Nginx是以那个config文件启动的?

输入命令行: ps -ef | grep nginx

master process 后面的就是 nginx的目录

怎么查看服务器上安装的nginx版本号,主要是通过ngix的-v或-V选项,查看方法如下图所示:

5.创建个Django项目+app

python django-admin.py startproject cloud_shield cd cloud_shield python manage.py startapp cloud_proxy

检测nginx运行状态:(V大写会显示版本号和模块等信息、v小写仅显示版本信息。)master process为其所在路径

检测版本

安装python 3虚拟环境:安装 python3-venv 用 virtualvenvwrapper 创建的虚拟环境里 既有 py2 还有 py3 ,pip啥的也是乱七八糟的,有脏东西,改用 python3 自带的 venv 创建纯净的,只有 python3 ,pip也只对应 python3 的虚拟环境

创建虚拟环境 ,kmind为虚拟环境所在的文件夹的名称

kmind/bin 里的 python 和 python3 全都是 python3.5 使用 pip 安装的 包也都是对应 python 3.5的

激活虚拟环境 source activate:

退出虚拟环境 deactivate:

通过SSH file 上传文件

二、uWSGI服务器部署:

     已经安装好uwsgi后(pip install uwsgi),只需要增加配置, 告诉uWSGI-server的框架入口函数在哪,就能让django和uWSGI服务器对接上。

     1. 在django项目的setting.py文件的同级目录下,增加一个配置文件 uwsgi.ini

     2. 对配置文件进行配置       

[uwsgi]
# 配置服务器的监听ip和端口,让uWSGI作为nginx的支持服务器的话,设置socke就行;如果要让uWSGI作为单独的web-server,用http
# http = 127.0.0.1:3309
socket = 127.0.0.1:3309
# 配置项目目录(此处设置为项目的根目录)
chdir = /home/python/Desktop/my_pro 
# 配置入口模块 (django的入口函数的模块,即setting同级目录下的wsgi.py)
wsgi-file = my_pro/wsgi.py
# 开启master, 将会多开一个管理进程, 管理其他服务进程
master = True
# 服务器开启的进程数量
processes = 2
# 以守护进程方式提供服, 输出信息将会打印到log中
daemonize = wsgi.log
# 服务器进程开启的线程数量
threads = 4
# 退出的时候清空环境变量
vacuum = true
# 进程pid
pidfile = uwsgi.pid
# 配uWSGI搜索静态文件目录(及django项目下我们存放static文件的目录,用uWSGI作为单独服务器时才需要设置,此时我们是用nginx处理静态文件)
# check-static = /home/python/Desktop/ttsx
  1. 启动uWSGI服务器    在配置文件uwsgi.ini所在目录下,用我们刚才配置好的配置文件启动uWSGI:    $: uwsgi –ini uwsgi.ini

三、nginx服务器部署:     uWSGI服务器已经部署好了,我们只需要安装并启动nginx,然后将nginx服务器的动态文件请求转发给uWSGI服务器,将静态文件请求交给自己来处理。

1. 安装nginx:
   需下载准备好nginx的包文件, 以及nginx安装依赖库的包文件OPENSSL:
   a. 首先安装nginx所依赖的库: PCRE
   $: sudo apt-get install libpcre3 libpcre3-dev
   b. 安装OPENSSL库,下载地址https://www.openssl.org/source/
   下载将其解压文件放到/usr/local/lib/openssl-1.0.2l目录下
      $: /usr/local/lib/openssl-1.0.2l
   c. 在这里我们使用编译的安装nginx,指定将nginx的安装到/ust/opt/目录下。
   解压包文件,进入nginx包文件目录:
   配置:
     $: ./configure --prefix=/opt/nginx --with-openssl=/usr/local/lib/openssl-1.0.21
   (--prefix指定nginx的安装目录, --with-openssl指定我们要使用的openssl版本,也就是我们刚才安装的路径)
    编译:$: make
      安装:$: make install
   d. 启动nginx:
   $: cd /opt/nginx/sbin/
   $: ./nginx
   相关命令:./nginx -s stop 强制停止   ./nginx -s quit  处理完当前所有连接后停止./nginx -s reload  重新加载配置文件进行重启  查看进程: ps -ajx | grep nginx

   2. 配置nginx:
   1. 修改nginx的配置文件  $: vim/opt/nginx/conf/nginx.conf
修改其收到请求处理的两条配置:
location / {include uwsgi_params;  # 设置将所有请求转发给uwsgi服务器处理
uwsgi_pass: 127.0.0.1:3309;  # 指定uwsgi服务器url
}

location /static {
alias /hom/xxx/xxx/pro_name/static/;  # 设置将/static的静态请求交给nginx,并指定静态文件的目录
            }

https://www.cnblogs.com/languoliang/archive/2013/04/01/nginx.html

四、admin后台管理界面静态文件配置:     以上,nginx+uWSGI+django已经可以正常运行了,但是登陆django的admin后台管理界面,网页的静态文件无法找到。     那是因为我们在前面设置nginx的静态文件目录时,static目录下一般只是我们项目应用开发中自己的静态文件,     但是django后台admin用到的静态文件并不在这,所以找不到。所以我们需要把所有的静态文件打包放在一个目录下。    1. 在项目的根目录下新建一个目录,可以取名为all_static。    2. 在setting.py文件下增加一行配置,指定所有静态文件的根目录:           STATIC_ROOT = os.path.join(BASE_DIR, ‘all_static’)    3.执行django管理器命令,会自动将我们项目所有的静态文件放到上面设置的静态文件根目录下:       ./managy.pu collectstatic linux(无桌面)安装anaconda http://www.linuxdiyf.com/linux/25117.html 安装当前最新版的python,并设置为默认:http://blog.csdn.net/u012582664/article/details/56845037