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

使用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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

WPScan使用完整攻略:如何对WordPress站点进行安全测试

WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用PHP编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和Wo...

31100
来自专栏码农笔录

cordova打包vue2(webpack)android、ios app

45820
来自专栏SpringBoot 核心技术

第十五章:使用SpringBoot validator让数据更真实

17030
来自专栏JetpropelledSnake

Linux学习笔记之Linux启动级别

对于绝大多数Linux程序员来说,进入Linux系统后一般看到的是黑乎乎的界面(开发模式),因为系统如果启动选择开发模式,会减少启动时间,优化内存等。但是通常我...

13210
来自专栏Java后端生活

Linux(十五)进程管理

28980
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用uWSGI和Nginx为Django应用程序提供服务

Django是一个功能强大的Web框架,可以帮助您实现Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码,但是对于任何与生...

14600
来自专栏向治洪

window环境下搭建react native及相关插件

可以先浏览一下中文翻译的开发文档具体了解一下关于React Native,想要查看官方文档可以点http://facebook.github.io/react-...

19780
来自专栏散尽浮华

分布式监控系统Zabbix--使用Grafana进行图形展示

 今天介绍一款高颜值监控绘图工具Grafana,在使用Zabbix监控环境中,通常我们会结合Grafana进行图形展示。Grafana默认没有zabbix作为数...

3.4K110
来自专栏从零开始学自动化测试

appium+python自动化53-adb logcat查看日志

做app测试,遇到异常情况,查看日志是必不可少的,日志如何输出到手机sdcard和电脑的目录呢?这就需要用logcat输出日志了 以下操作是基于windows平...

27420
来自专栏kalifaの日々

window下用pin安装flask步骤及import flask报错的解决方案

安装过程: 1.下载get-pip.py,下载路径并不重要 不用放到Python安装目录里。 2.打开下载路径 python get-pip.py 运行这个py...

41070

扫码关注云+社区

领取腾讯云代金券