继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕斯卡3302699
关注TA
已关注
手记 271
粉丝 58
获赞 314

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

1:更新apt-get

#sudo apt-get update1

  https://img4.mukewang.com/5b3b8f4800018bde07300097.jpg
  当用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.91

3.安装 Nginx

更新后才有效

sudo apt-get install nginx1

https://img1.mukewang.com/5b3b8f500001852806970345.jpg

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

4.安装 uwsgi

sudo apt-get install uwsgi1

https://img2.mukewang.com/5b3b8f58000199a207020320.jpg
参考连接:https://www.aliyun.com/jiaocheng/132620.html
可以通过下面命令,查看
Linux环境下,怎么确定Nginx是以那个config文件启动的?

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

https://img1.mukewang.com/5b3b8f6000011dfc05860127.jpg
master process 后面的就是 nginx的目录

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

5.创建个Django项目+app

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

检测nginx运行状态:(V大写会显示版本号和模块等信息、v小写仅显示版本信息。)master process为其所在路径
https://img2.mukewang.com/5b3b8f6f00011dfc05860127.jpg
检测版本
https://img1.mukewang.com/5b3b8f7700017db605990076.jpg
安装python 3虚拟环境:安装 python3-venv  
用 virtualvenvwrapper 创建的虚拟环境里 既有 py2 还有 py3 ,pip啥的也是乱七八糟的,有脏东西,改用 python3 自带的 venv 创建纯净的,只有 python3 ,pip也只对应 python3 的虚拟环境

https://img4.mukewang.com/5b3b8f7e0001fab505620286.jpg
创建虚拟环境 ,kmind为虚拟环境所在的文件夹的名称

https://img2.mukewang.com/5b3b8f860001d37f04410043.jpg
kmind/bin 里的 python 和 python3 全都是 python3.5  
使用 pip 安装的 包也都是对应 python 3.5的

https://img.mukewang.com/5b3b8f8d00018f2005140119.jpg
激活虚拟环境 source activate:

https://img2.mukewang.com/5b3b8f950001c59b05700111.jpg
退出虚拟环境 deactivate:
https://img1.mukewang.com/5b3b8f9d0001bbfc05150033.jpg

通过SSH file  上传文件
https://img2.mukewang.com/5b3b8fa40001de5505830432.jpg

二、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:3309socket = 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# 进程pidpidfile = 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

安装:uswgi  报错:
https://segmentfault.com/q/1010000002459736

阿里云参考:https://yq.aliyun.com/articles/36339
参考连接:https://www.cnblogs.com/fnng/p/5268633.html

参考文献:
http://blog.csdn.net/hshl1214/article/details/46789969
https://www.cnblogs.com/qingspace/p/6838747.html


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP