概述
前言
这篇文章手把手带你了解如何在ubuntu16.04云服务器上搭建Nginx+uWSGI+Django开发环境~
环境准备
服务器ssh安全配置
这里可以参考我之前的博文,服务器安全篇【ssh安全】
python默认更改
针对腾讯云默认python使用python2.7,虽然可以使用py -3
可以调用python3,但依旧觉得不便。两个命令很容易搞定python默认python3
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python3.5 /usr/bin/python
各种其他环境的安装
pip
我这里使用的是腾讯云提供的ubuntu16.04云主机,虽然自带python3和python2,但是并没有pip,由于本次演示使用python3,所以这里进行pip3的安装
sudo apt-get install python3-pip
nginx
sudo apt-get install nginx
uWSGI
pip3 install uwsgi
django
sudo pip3 install Django
ps:Django开发环境自行迁移到服务器,我这里创建了django文件夹,并在其中创建hello project,app新建了一个good
结构树如下:
测试各种环境是否正常
测试django是否正常
将环境迁移过来后注意添加在settings.py中添加服务器ip:
ALLOWED_HOSTS = ['xxx.xxx.xxx.xxx']
启动django服务:
sudo python manage.py runserver 0.0.0.0:8000 #8000端口自行选择,注意安全组将端口开放
页面显示正常即可~
测试使用uwsgi是否正常
创建test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello uwsgi!"]
开启uwsgi
uwsgi --http :8000 --wsgi-file test.py
网页端正常回显即可
测试使用uwsgi运行Django框架
这里依然使用HTTP协议,将指向具体Python文件–wsgi-file参数替换为指向Django项目的–module参数,参数的值hello.wsgi指向/django/hello/hello/wsgi.py模块,如果正常可以在浏览器访问服务器8000端口,打开项目,但是静态文件路径有问题,不过没关系后面再处理。
#在/django/hello/目录下
uwsgi --http :8000 --module hello.wsgi
#在/django/hello/hello/目录下
uwsgi --http :8000 --module wsgi.py
正式搭建服务器
配置uwsgi
#http=:8000
socket = 127.0.0.1:8000
chmod-socket = 766
chdir = /django/hello/
module =hello.wsgi
master = true
processes = 4
threads = 2
配置nginx
Nginx的主要配置文件在/etc/nginx/nginx.conf和sites-enabled文件夹里,nginx.conf是全局设置,sites-enabled文件夹里的可以针对不同站点进行配置。其中有个默认的default配置文件,该文件其实是sites-available文件夹里的default文件的软链接,sites-avaliable像个仓库,但只有sites-enabled里的才有效。
我们可以将sites-enabled的default删除,再cp一份sites-available的default到sites-enabled里重名为nginx-pro。
cd /etc/nginx/sites-enabled/
rm -f default
cp /etc/nginx/sites-available/default /etc/nginx/sites-enabled/nginx-pro
进入sites-available
vi nginx-pro
修改配置为下面的配置
#nginx-pro
server {
listen 80;
#listen [::]:80;
#root /var/www/html;
#index index.html index.htm index.nginx-debian.html;
server_name xxx.xxx.xxx.xxx; # IP or FQDN
location /static {
alias /django/hello/static;
}
location / {
uwsgi_pass 127.0.0.1:8000;
include /django/hello/uwsgi_params;
#try_files $uri $uri/ =404;
}
}
运行服务器
需要两个命令行,运行
uwsgi --ini uwsgi.ini
service nginx restart
即可
最后
以上就是闪闪白羊为你收集整理的实战ubuntu16.04云服务器上搭建Nginx+uWSGI+Django前言环境准备测试各种环境是否正常正式搭建服务器运行服务器的全部内容,希望文章能够帮你解决实战ubuntu16.04云服务器上搭建Nginx+uWSGI+Django前言环境准备测试各种环境是否正常正式搭建服务器运行服务器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复