ubuntu 16 安装django nginx uWSGI

参考
https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-ubuntu-16-04

1.安装pip

sudo apt-get update
sudo apt-get install python-pip

如果您使用python3
sudo apt-get update
sudo apt-get install python3-pip

2.使用pip 安装virtualenv 和 virtualenvwrapper

sudo pip install virtualenv virtualenvwrapper

如果您使用python3

sudo pip3 install virtualenv virtualenvwrapper

问题:locale.Error: unsupported locale setting
解决:

sudo apt-get install language-pack-id
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales

3.配置环境变量

echo "export WORKON_HOME=~/Env" >> ~/.bashrc
echo "source /usr/local/bin/    virtualenvwrapper.sh" >> ~/.bashrc

4.初始化脚步

source ~/.bashrc

5.创建虚拟目录

mkvirtualenv firstsite

6.安装django

pip install django

7.创建django项目

cd ~
django-admin.py startproject firstsite

8.初始化django项目

cd ~/firstsite
./manage.py migrate
./manage.py createsuperuser

9.修改项目static

nano firstsite/settings.py

在settings.py中

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

10.收集一下静态文件

./manage.py collectstatic

11.更新一下防火墙

sudo ufw allow 8080

12.运行一下项目

./manage.py runserver 0.0.0.0:8080

13.浏览器里查看一下

http://域名或ip:8080

14.退出virtualenv环境

deactivate

如果您想再次进入可以 workon firstsite

15.安装uWSGI

sudo apt-get install python-dev
sudo pip install uwsgi

16.测试是否安装好了

uwsgi --http :8080 --home /home/guanli/Env/firstsite --chdir /home/guanli/firstsite -w firstsite.wsgi

请注意,将/home/guanli/替换成你自己的路径
测试中admin页面的css可能会无法显示

17.设置配置文件

sudo mkdir -p /etc/uwsgi/sites
cd /etc/uwsgi/sites

18.编写项目ini文件

sudo vi firstsite.ini


[uwsgi]
project = firstsite
uid = guanli
base = /home/%(uid)

chdir = %(base)/%(project)
home = %(base)/Env/%(project)
module = %(project).wsgi:application

master = true
processes = 5

socket = /run/uwsgi/%(project).sock
chown-socket = %(uid):www-data
chmod-socket = 660
vacuum = true
  1. 创建系统unit file 为uWSGI

    sudo vi /etc/systemd/system/uwsgi.service
    [Unit]
    Description=uWSGI Emperor service
    
    [Service]
    ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown guanli:www-data /run/uwsgi'
    ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
    Restart=always
    KillSignal=SIGQUIT
    Type=notify
    NotifyAccess=all
    
    [Install]
    WantedBy=multi-user.target
    

20.配置nginx

sudo apt-get install nginx

21.创建nginx站点

sudo vi /etc/nginx/sites-available/firstsite

server {
    listen 80;
    server_name waikanvip.com 121.194.213.236;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/guanli/firstsite;
    }

    location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/run/uwsgi/firstsite.sock;
    }
}

22.创建软连接到enabled目录

sudo ln -s /etc/nginx/sites-available/  firstsite /etc/nginx/sites-enabled

23.检测一下配置是否正确

sudo ln -s /etc/nginx/sites-available/firstsite /etc/nginx/sites-enabled

24.重启nginx

sudo systemctl restart nginx

25 启动uwsgi

sudo systemctl start uwsgi

26.修改防火墙 nginx策略

sudo ufw delete allow 8080
sudo ufw allow 'Nginx Full'

27.自动启动

sudo systemctl enable nginx
sudo systemctl enable uwsgi

配置完成

转载于:https://www.cnblogs.com/springday/p/5601640.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu是一个自由开源的操作系统,其中有很多的工具和服务可以用于搭建与开发Web应用。其中,常用的Web应用栈是使用Nginx作为Web服务器,UWSGI作为应用程序服务器,Django作为Web框架,MySQL作为关系型数据库。 要安装和配置这些服务,需要进行以下步骤: 1. 安装Ubuntu操作系统,可以选择最新版本的Ubuntu LTS或者最新的Ubuntu发行版。 2. 安装Nginx服务,并配置Nginx服务器来处理并转发HTTP请求。这里可以使用apt-get install命令来安装Nginx包。 3. 安装UWSGI服务,并配置UWSGI服务器来处理Django应用程序。这里可以使用pip install命令来安装UWSGI包。 4. 安装Django,并编写一个基本的Django应用程序。然后配置UWSGI服务器以运行Django应用程序。可以使用pip install命令来安装Django包。可以使用此教程 - https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html 5. 安装MySQL数据库服务,并配置MySQL服务器以使用Django应用程序。可以使用apt-get install命令来安装MySQL包。 6. 在Django应用程序中配置MySQL数据库连接参数,并创建 MySQL数据库及表。 7. 配置Nginx服务器以使用UWSGI服务器来处理Django应用程序。可以使用上面的教程来完成这一步骤。 8. 启动NginxUWSGI服务器,并测试Django应用程序是否可以访问。 在进行以上的步骤时,需要注意安全措施,防止 Web 应用程序被攻击和入侵。同时,也需要进行充分的测试,保证 Web 应用程序的稳定性和可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值