宝塔面板,虽然宝塔是针对php的,但是里边ngnix,mysql等都可以傻瓜式安装的,python等其他语言都能通用的,感觉比自己安装配置的稳定。使用宝塔傻瓜式配置运行django+ngnix+uwsig,话不多说,上步骤!
第一步:
安装宝塔
以centos为例(其他系统,参照https://www.kancloud.cn/chudong/bt2017/443922)
Centos安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install\_6.0.sh && sh install.sh
出现对话框时,输入y,回车即可。
注意事项:请妥善保存面板地址、账号和密码。
在浏览器输入面板地址(如图):
第二步:
登录宝塔后,安装ngnix/mysql
并添加一个数据库:
第三步:
把自己的django代码传到服务器,修改setting.py中的mysql配置为宝塔建立的数据库,并调试下是否正常
python manage.py runserver 0.0.0.0:8001
第四步:
uwsig配置,假设你有一个叫xxx的项目,在你的django项目xxx根目录下新建一个叫“xxx.ini”的文件。
这里展示一个最简单的配置,内容如下:
[uwsgi]
socket = :8000
chdir = /home/xxx
env = DJANGO_SETTINGS_MODULE=xxx.settings
module = xxx.wsgi
master = true
wsgi-file = xxx/wsgi.py
其中:
socket指你的运行uwsig的端口;
chdir指你的路径;
其他照抄就好了。
第五步:
配置ngnix
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
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;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name www.renyyy.com;
charset UTF-8;
client_max_body_size 75M;
location /media {
alias /home/xxx/media;
}
location /static {
alias /home/xxx/static;
}
location / {
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
}
}
}
重点关注server中的配置,其中:
listen 是你的想访问的server_name后边接的端口;
server_name是你的想使用的域名或ip;(如果是域名,你需要在域名购买的网站解析一下即可)
location /media... location /static...是你的media文件、静态文件路径;
uwsgi_pass对应的你uwsgi使用的端口。
完成了!
第六步:见证奇迹
运行:
uwsgi /home/xxx/xxx.ini
后台运行的话,使用:
nohup uwsgi /home/xxx/xxx.ini > /home/xxx/2019-02-21_01.log &
访问,我们配置的域名www.renyyy.com,查看是否已经成功。
成功!
另外推荐一在线测试工具:http://www.renyyy.com/tools/