背景
硬件和软件
1、典 工控机,4G内存 120G硬盘(msata III)
2、window7_64
3、Python 3.7.4
django-gentelella下载地址
初步完成第一步步骤
1、安装Python ,记住选择自定义安装,把Python加入环境。
下载django-gentelella,并解压到 C:
2、修改pip的镜像源
window系统的 在用户目录下新建pip文件夹,C:\Users\jhui2\pip 新建文件pip.ini
输入内容。
下面使用的清华源
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
3、安装虚拟环境,为了以后更方便换环境
下面都是在cmd操作的
pip install virtualenvwrapper-win
创建一个虚拟环境
mkvirtualenv myweb
会在C:\Users\jhui2\Envs 发现一个新的文件夹myweb就是刚刚上面命令创建的。
下面是显示的内容
C:\Python37\Scripts>mkvirtualenv myweb
C:\Users\jhui2\Envs is not a directory, creating
created virtual environment CPython3.7.4.final.0-64 in 9289ms
creator CPython3Windows(dest=C:\Users\jhui2\Envs\myweb, clear=False, global=Fa
lse)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle
, via=copy, app_data_dir=C:\Users\jhui2\AppData\Local\pypa\virtualenv)
added seed packages: pip==20.2.4, setuptools==50.3.2, wheel==0.35.1
activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,Pyth
onActivator,XonshActivator
(myweb) C:\Python37\Scripts>
继续进去刚刚下载好的django-gentelella-master
(myweb) c:\>cd c:\django-gentelella-master
(myweb) c:\django-gentelella-master>pip install -r requirements.txt
等待安装django和pytz
下面是成功的语句
Installing collected packages: pytz, Django
Successfully installed Django-2.1 pytz-2018.9
4、找到settings.py
修改C:\django-gentelella-master\gentelella\gentelella\settings.py
原本是下面
ALLOWED_HOSTS = []
修改为 * 意思是允许全部ip登录
ALLOWED_HOSTS = ["*"]
回到cmd上输入下面命令。
cd gentelella
python manage.py runserver 0.0.0.0:8888
6、显示画面
在浏览器上面输入
http://127.0.0.1:8888/ 进去成功
当然我也要在同一个局域网的手机也能登录。我输入服务器ip:8888
扩展uwsgi
pip install uwsgi
uwsgi --http :8888 --wsgi-file
uwsgi --http 0.0.0.0:8000 --chdir /opt/gentelella/gentelella/ --wsgi-file django_wsgi.py
上面这个命令行也可以写在一个配置文件里面 my_uwsgi.ini
```bash
[uwsgi]
http=0.0.0.0:8080
socket=0.0.0.0:8000
;processes=8
;threads=2
chdir=/opt/gentelella/gentelella
module=/opt/gentelella/gentelella/wsgi_app.py
wsgi-file=/opt/gentelella/gentelella/django_wsgi.py
stats=0.0.0.0:8081
vacuum=true
# nginx
下载nginx 选择潮流版本。
```powershell
#这是 /etc/nginx/nginx.conf文件
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
看到上面最后一句,包含/etc/nginx/conf.d/*.conf 我打开里面的conf后续的文件看,只有一个起作用tool.conf
#这个是 tool.conf,监听8001端口,转发给8000端口
upstream django {
server 127.0.0.1:8000; #web的socket端口
}
server {
listen 8001 default_server;
listen [::]:8001 default_server;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
root /opt/gentelella/gentelella; #项目目录
include /opt/gentelella/gentelella/uwsgi_params; #uwsgi_params文件的地址
uwsgi_pass django;
}
location /static/ {
alias /opt/static/;
index index.html index.htm;
}
}