阿里云ECS(Ubuntu)+/nginx+uwsgi+django(虚拟环境pyenv+virtualenv)

一、参考网址 :

https://www.cnblogs.com/logicalsky/p/5685603.html
http://www.chenxm.cc/post/275.html?zhihu

二、具体安装步骤说明

1.pyenv安装和使用

1)安装

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm

git clone git://github.com/yyuu/pyenv.git ~/.pyenv

vim ~/.bashrc

    export PYENV_ROOT="$HOME/.pyenv"
    export PATH = "$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init -)"

source ~/.bashrc

2)使用(本次在虚拟环境中使用:python 3.6.4)

pyenv install -v 2.7.1

# 创建新的环境,位于 ~/.pyenv/versions/
$ pyenv virtualenv 2.7.1 env271

# 切换到新的环境
$ pyenv activate env271

# 退回到系统环境
$ pyenv deactivate

# 删除新创建的环境
$ rm -rf ~/.pyenv/versions/env271/

2.安装uwsgi

1)在虚拟环境下安装uwsgi

# 启动环境
pyenv activate your_env_name
pip3 install uwsgi

2)测试uwsgi,创建test.py(在django服务器目录中创建)

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello uwsgi!"]

3)uwsgi运行该文件

uwsgi --http-socket  :8088   --wsgi-file   test.py

4)打开浏览器,访问http://127.0.0.1:8000/,阿里云ecs服务器中使用elinks进行访问(apt install elinks)

3.安装django并使用

1)在虚拟环境中安装Django,先启动虚拟环境

pyenv activate your_env_name
2) 在虚拟环境webenv中使用一下命令安装:

#使用pip安装
pip3 install django

#新建一个 django project
django-admin.py startproject project_name

#cd project_name 然后执行下面的命令
python manage.py startapp app_name

#服务器启动
ython manage.py runserver

3)创建一个hello django的网页

(1)新建项目project

   在命令行运行"django-admin startproject website",会在当前目录下新建名为"website"的文件夹,website即为项目名,此时目录结构:

复制代码
1 website
2  |-- manage.py      #命令行管理接口
3  |--db.sqlite3
4  |-- mysite
5     ├── __init__.py   #表示这是一个软件包
6     ├── settings.py   #项目相关配置
7     ├── urls.py      #全局url配置
8     └── wsgi.py 
复制代码

(2)新建app

  命令行执行"python manage.py startapp blog",新建应用(网页),"website"下会新建一个名为"blog"的文件夹,"blog"的目录结构:

复制代码
1 blog/
2 ├── __init__.py
3 ├── admin.py
4 ├── models.py
5 ├── tests.py
6 ├── views.py
7 ├── apps.py
8 └── migrations
复制代码

(3)将blog加入website目录下的setting.py中的INSTALL_APPS,如下:

复制代码
 1 INSTALLED_APPS = (
 2     'django.contrib.admin',
 3     'django.contrib.auth',
 4     'django.contrib.contenttypes',
 5     'django.contrib.sessions',
 6     'django.contrib.messages',
 7     'django.contrib.staticfiles',
 8     'blog',    
 9 )
复制代码

   新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)

(4)编辑视图(views),编辑blog目录下的views.py如下:(编写网页内容)

复制代码
1 #coding:utf8
2 
3 from django.shortcuts import render
4 from django.http import HttpResponse                  #记得导入该模块
5 
6 def index(request):
7     return HttpResponse("<h1>hello Django!</h1>")     #网页输出"hello Django!"    
复制代码

(5)编辑urls.py,编辑website目录下的urls.py如下:(定义网页的连接)

复制代码
 1 #coding:utf8
 2 
 3 from django.conf.urls import url
 4 from django.contrib import admin
 5 from blog import views as blog_views          #记住!先导入app中的views后使用
 6 
 7 urlpatterns = [
 8     url(r'^admin/', admin.site.urls),
 9     url(r'^$',blog_views.index,name=’index'), 
10 ]
复制代码

  可以看出, urls.py的链接是通过正则表达式匹配的。此处设置打开http://127.0.0.1:8000/会打开blog中的views的index设置的网页。

(6)切换至website目录下,开启Django自带的web服务器使用命令:python manage.py runserver , 默认使用8000端口,可在其后加端口号改变使用端口。用浏览器打开http://127.0.0.1:8000/,如图:

4.安装nginx

1) nginx不需要在虚拟环境下装,在终端直接用命令安装

apt-get install nginx

2) nginx启动与关闭命令

 service nginx start     #启动
 service nginx stop     #关闭
 service nginx restart    #重启
 nginx -V      #查看nginx版本
 nginx -t      # 检查配置文件是否有语法错误

5.部署django+uwsgi+nginx

1) 在你的django项目文件夹下建立 web_uwsgi.ini 文件,具体的参数配置如下: 最重要的是配置 pythonpath,它指定django所在的位置,当时没有配置准确这一点,一直报错no moudle django,花了很长时间也不知道为什么,后来查了很多资料后,才知道配置pythonpath。主要的参数有注释。

[uwsgi]

socket  =127.0.0.1:8088 #ugsi  ip and port

chmod-socket =664

chdir = /root/myjango

wsgi-file = /root/myjango/myjango/wsgi.py

module = myjango.wsgi:application

master=true

vhost = true

no-site = true

pythonpath = /root/.pyenv/versions/env364/lib/python3.6/site-packages

enable-threads=true

processes = 1

threads = 2

pidfile = /tmp/lin.pid

vacuum = true

py-autoreload = 1

max-requests = 1000

注意: 修改django项目中settings.py文件:

DEBUG = True 
ALLOWED_HOSTS = ['127.0.0.1','公网ip地址','localhost']

2) 之前提到nginx.conf配置所包含的配置,那就可以在/etc/nginx/conf.d下建一个nginx.conf来关联uwsgi

vi /etc/nginx/conf.d/nginx.conf


server {
listen         80;
server_name    公网ip地址
charset UTF-8;
access_log      /var/log/nginx/myweb_access.log;
error_log       /var/log/nginx/myweb_error.log;

client_max_body_size 75M;

location / {
    include /etc/nginx/uwsgi_params;
    uwsgi_pass 127.0.0.1:8088;
    uwsgi_read_timeout 2;

}
location /static {
    expires 30d;
    autoindex on;
    add_header Cache-Control private;
    alias /root/myjango/myfirst_web/static;
 }
}

3)重启nginx服务 service nginx restart

4)# 激活虚拟环境

pyenv activate webenv 
# 在.ini文件的父目录下运行命令
uwsgi --ini web_uwsgi.ini 

5) 访问http://127.0.0.1:80, 便可以通过nginx访问到你的django项目的网站。

6) 在阿里云ECS服务器中,添加安全规则:入站和出站规则(添加(htpp(80))规则),之后在浏览器中访问:

 http://公网ip/index      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
蛋白质是生物体中普遍存在的一类重要生物大分子,由天然氨基酸通过肽键连接而成。它具有复杂的分子结构和特定的生物功能,是表达生物遗传性状的一类主要物质。 蛋白质的结构可分为四级:一级结构是组成蛋白质多肽链的线性氨基酸序列;二级结构是依靠不同氨基酸之间的C=O和N-H基团间的氢键形成的稳定结构,主要为α螺旋和β折叠;三级结构是通过多个二级结构元素在三维空间的排列所形成的一个蛋白质分子的三维结构;四级结构用于描述由不同多肽链(亚基)间相互作用形成具有功能的蛋白质复合物分子。 蛋白质在生物体内具有多种功能,包括提供能量、维持电解质平衡、信息交流、构成人的身体以及免疫等。例如,蛋白质分解可以为人体提供能量,每克蛋白质能产生4千卡的热能;血液里的蛋白质能帮助维持体内的酸碱平衡和血液的渗透压;蛋白质是组成人体器官组织的重要物质,可以修复受损的器官功能,以及维持细胞的生长和更新;蛋白质也是构成多种生理活性的物质,如免疫球蛋白,具有维持机体正常免疫功能的作用。 蛋白质的合成是指生物按照从脱氧核糖核酸(DNA)转录得到的信使核糖核酸(mRNA)上的遗传信息合成蛋白质的过程。这个过程包括氨基酸的活化、多肽链合成的起始、肽链的延长、肽链的终止和释放以及蛋白质合成后的加工修饰等步骤。 蛋白质降解是指食物中的蛋白质经过蛋白质降解酶的作用降解为多肽和氨基酸然后被人体吸收的过程。这个过程在细胞的生理活动中发挥着极其重要的作用,例如将蛋白质降解后成为小分子的氨基酸,并被循环利用;处理错误折叠的蛋白质以及多余组分,使之降解,以防机体产生错误应答。 总的来说,蛋白质是生物体内不可或缺的一类重要物质,对于维持生物体的正常生理功能具有至关重要的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值