ps: 这篇文章产生是因为这两天查了好多资料不断爬坑才配置好,这两天没有一个很完整解释很清晰的资料。
本文前半部分为查到的操作,后边为爬坑。希望这篇能帮到大家,欢迎批评指正。
1.工作过程
- 网络请求-->nginx-->uwsgi-->django
2. django
django的安装以及创建项目这里不做表述
- 项目结构如下:
ps:根目录为myweb
-
测试服务器是否可用
在根目录下执行python manage.py runserver ip:prot
这里的0.0.0.0 是为了让所有局域网内的ip都能访问到服务器。12345为指定的端口出现下图即为成功
提示:如果用局域网内其他电脑访问不成功,请检查防火墙端口是否打开
3.uwsgi
安装uwsgi
使用pip install uwsgi 即可-
配置uwsgi
在根目录下新建uwsgi.ini 并打开,配置如下[图片上传失败...(image-47bf89-1512845490869)]
以下配置内容和上图一样,为了那些喜欢cv大法的人
[uwsgi]
# 使用nginx时打开的
# socket = 127.0.0.1:8081
# 网络地址
http = 0.0.0.0:8081
plugins=python
# 项目根目录
chdir = /home/herb/server/myweb/
# 文件自动生成的
module = myweb.wsgi
master = true
processes = 4
vacuum = true
chmod-socket=666
# 虚拟环境位置
pythonpath = /home/herb/.pyenv/versions/h2/lib/python2.7/site-packages
# 日志位置
idaemonize = /home/herb/server/myweb/uwsgi8081.log
注意:虚拟环境位置没有用虚拟环境的可以去掉
-
用uwsgi 启动django项目
在根目录下输入uwsgi --ini uwsgi.ini 命令即可启动uwsgi服务器成功后根据上边http设置的端口就可以成功访问网站
-
停止uwsgi
停止的方法很多,个人使用 ps aux | grep uwsgi 查看端口,然后kill -9 port即可停止
4. nginx
-
安装nginx服务器
在终端输入sudo apt install nginx即可安装
-
配置nginx服务
cd /etc/nginx/sites-enabled , 默认里边有default在里边配置即可,需指出,最近帮朋友配置centos时候, 配置的路径为 /etc/nginx 里边的nginx.conf, ubuntu 默认指向的是sites-enabled 里边的default。 配置如下: server { # 监听端口 listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; # 访问本服务器需要输入的地址,比如下边的写的就是其他人访问你需要使用www.xxxx.com进行访问 server_name www.xxxxx.com; location / { log_not_found off; # 和uwsgi 链接的地址,本文件配置完需要把uwsgi里边的http注释,改为socket和下边相同 uwsgi_pass 127.0.0.1:8081; include uwsgi_params; } 此时就可以用uwsgi 调用你的django了。
文章还未结束,下边才是大坑
5.静态文件处理
这两天就更,待续...