我是靠谱客的博主 闪闪白羊,最近开发中收集的这篇文章主要介绍实战ubuntu16.04云服务器上搭建Nginx+uWSGI+Django前言环境准备测试各种环境是否正常正式搭建服务器运行服务器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

这篇文章手把手带你了解如何在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前言环境准备测试各种环境是否正常正式搭建服务器运行服务器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部