Python 3之Django2部署(centos7+nginx+python3+django2.0)

前置工具,系统为centos7.5,为了方便管理,可以安装宝塔免费版本

首先,

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

正常干净系统会顺利完成安装,使用过程是感觉自己记下配置和更新的过程,类似版本更新或者冲突的先别急着百度,容易造成冲突。

宝塔6.6版本是依赖python2.7的,所以python可以升级到最后版本,例如2.7.15,不要用python3代替2,这样会导致宝塔冲突。

第一,Python3安装

在Centos7 系统中,自带的有python2环境
安装相关包
命令:yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
在python官网下载python3源码
    下载源码
    命令:wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
    解压源码
    命令:tar -xvJf Python-3.7.1.tar.xz  
编译安装python3
   进入解压包中
    命令:cd Python-3.7.1
    设置安装路径
    命令:./configure prefix=/usr/local/python3
    执行编译安装
    命令: make && make install
设置python3命令软连接
    设置python3软连接
    命令:ln -s /usr/local/python3/bin/python3 /usr/bin/python3
    设置pip3环境变量
    命令:ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

到此Python3运行环境安装和配置完,关键:必须带3,这样整个系统不会影响到宝塔,python3,pip3等

第二,安装supervisor

这块可以安装后挂载不同的服务。例如Python网站,core网站,php网站。

yum install supervisor

安装完毕后,会生成

/ect/supervisor/supervisord.conf

编辑,可以用winscp打开,也可以直接用vi命令

编辑关键部分。

[inet_http_server] ; inet (TCP) server disabled by default
port=*:9001 ; (ip_address:port specifier, *:port for all iface)
;username=user ; (default is no username (open server))
;password=123 ; (default is no password (open server))

这里是supervisor的管理界面,设置*:9001代表可以在外网访问,当然也可以指定IP

[unix_http_server]
file=/tmp/supervisor.sock ; (the path to the socket file)
chmod=0766 ; socket file mode (default 0700)
;chown=nobody:nogroup ; socket file uid:gid owner
;username=user ; (default is no username (open server))
;password=123 ; (default is no password (open server))

这里主要chmod设置为0766打开对应的权限

拉到最下

[include]
files = conf.d/*.conf

配置一下网站独立的conf,用*.conf代表里面的所以文件。

我建了个pydjangoweb.conf的配置,内容如下

[program:PyDjangoWeb]

command=python3 /website/py.django.web/manage.py runserver  0.0.0.0:8090 ; 运行程序的命令

autorestart=true ; 程序意外退出是否自动重启

stderr_logfile=/var/log/pydjango.err.log ; 错误日志文件

stdout_logfile=/var/log/pydjango.out.log ; 输出日志文件

python3是运行程序 /website/py.django...是网站部署的路径,0.0.0.0:8090是端口并设置为外网可以访问.这个留意一点,每行结束需有空格隔开 ;

修改完成后这行

supervisorctl reload让配置生效。

三、设置supervisor为开机启动


/usr/lib/systemd/system/下,新建supervisor.service文件。

[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service nss-user-lookup.target

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf

[Install]
WantedBy=multi-user.target

systemctl enable supervisord

设置启动supervisor

验证是否开机启动:

systemctl is-enabled supervisord

四、配置nginx

具体不详细说,用了宝塔,可以直接编辑配置文件。

#这段是core2.1的
server {
    listen 80;
    server_name quce.lttgx.top;
    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    }
#这段是django2.1的
  server {
    listen 80;
    server_name py.django.web;
    location / {
        proxy_pass http://localhost:8090;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    }

配置完成后nginx需重新加载

cd usr/local/nginx/sbin

./nginx -s reload

也可以用宝塔的界面操作。

五、具体代码需要注意点

urlpatterns = [# Examples:
    url(r‘^$‘, app.views.home, name=‘home‘),
    url(r‘^contact$‘, app.views.contact, name=‘contact‘),
    url(r‘^about$‘, app.views.about, name=‘about‘),
    url(r‘^login/$‘, views.LoginView.as_view(template_name= ‘app/login.html‘,
            authentication_form= app.forms.BootstrapAuthenticationForm,
            extra_context=
            {
                ‘title‘: ‘Log in‘,
                ‘year‘: datetime.now().year,
            }),
        name=‘login‘),
    url(r‘^logout$‘,
        views.LogoutView.as_view(next_page=‘/‘),
                                 name=‘logout‘)

urls.py文件,django2.0后,login,logout方法已取消,可以用views.LoginView.as_view去配置模版页和方法。

ALLOWED_HOSTS = [‘*‘]
//原来空白的需加上‘*‘,允许在外网访问

补充:

如django运行出错,可以先独立运行  

进入网站路径,运行: python3 manage.py runserver  0.0.0.0:8090

如有错误,看缺什么包没安装,例如需要安装pip3 install django

supervisor管理界面,其中包括django项目,tastetest是.net core2.1的微信项目

原文地址:https://www.cnblogs.com/drek_blog/p/10059389.html

时间: 2024-08-30 10:57:00

Python 3之Django2部署(centos7+nginx+python3+django2.0)的相关文章

centos7+nginx 1.9.0+php-fpm+phpstorm+xdebug+vmware开发环境搭建

1.php-fpm yum install php-fpm 默认配置在本地9000端口监听 service php-fpm restart启动 2.nginx 1.9.0 需先安装gcc zlib openssl pcre(yum install 即可,注意版本可能需要devel版的) wget http://nginx.org/download/nginx-1.9.0.tar.gz tar -zxvf nginx-1.9.0.tar.gz cd nginx-1.9.0进入解压后的目录 执行./

.Net Core 部署 CentOs7+Nginx

先爆图 由于是初学者,部署出来这个界面也不容易,此前第一步弄了个这个出来 动态的没问题,然后静态资源死活就是不出来,弄了两个小时没有结果,带着遗憾睡了个觉 试验1: server { listen 80; location / { root /usr/myweb/wwwroot/; proxy_pass http://localhost:5000; # 刚才设置的地址端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade

阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略

centos7+nginx+python3+django+uwsgi配置Django 项目部署 1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,tcp自定义就行,mysql(3306),nginx(8000以上都行).(都切换到root用户操作) 2.安装python3 3.安装nginx 4.安装mysql(这一步如果暂时用不上数据库也可以不操作) 5.确定2,3两步安装成功了,接下来就用pip3 安装django 和uwsgi, 在进行下一步

腾讯云下的CentOS7 安装最新版Python3.7.0

第一步下载Python3.7.0 刚开始我是在windows上下载之后 传到FTP服务器上的 后来发现使用以下命令可以更快捷地下载到服务器 *  wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz wget 是一个从网络上自动下载文件的自由工具 第二步解压安装与Python3.7.0 1. 解压 切换到Python下载到的目录 *  tar -xzf Python-3.7.0.tgz  tar是解压缩命令 -x代表从档案文件

python3.8.0 Django 开发后端接口api 部署到 Linux Centos7上

经历了两天的时候终于把本地使用python3 django开发的接口API部署到服务器上了,还是记录一下,以免之后忘记,哈哈 注意一点,就是,centos7是基于python2的,我这边默认的是python2.7.5,记住不要删除了python2,否则后果很严重,yum会报错,这是因为python3和python2版本的冲突导致的 第一步,安装 python3 到 Centos7, 先安装软件管理包和可能使用的依赖 yum -y groupinstall "Development tools&q

Linux平台(Centos7)-lnmp一键式部署mysql,nginx,php,php-fpm服务

Linux平台(Centos7)-lnmp一键式部署mysql,nginx,php,php-fpm服务 1. 部署方式1:手动部署. 6 1.1. 配置防火墙. 6 1.2. 关闭firewall 6 1.3. 安装iptables防火墙. 6 1.4. 安装Apache 7 1.5. 安装MariaDB 9 1.5.1. 安装MariaDB 9 1.5.2. 启动服务. 10 1.5.3. 设置开机启动. 10 1.5.4. 为root账户设置密码. 11 1.5.5. 重启MariaDB 1

linux centos7 nginx 安装部署和配置

1/什么是NginxNginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,在高连接并发的情况下Nginx是Apache服务器不错的替代品.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.目前中国大陆使用nginx网站用户有:新浪.网易.腾讯,另外知名的微网志Plurk也使用nginx.Nginx作为负载均衡服务器,既可以在内部直接支持Rails和PHP程序对外进行服务,也可以

Django部署——uwsgi+Nginx

Django部署——uwsgi+Nginx(超详细) 环境:python3.6centos 7Django1.11用Django写了个小网站,只能在自己本地跑一跑!这怎么行?听说可以部署在云服务器上,这样别人就可以访问了! biu~ 从哪儿开始?就从Django开始吧!老规矩,按步骤: 1.本地跑起来Django 这里不讲Django项目实施过程,假设你已经写了一个Django项目,并且在本地127.0.0.1:8000能够跑起来.喏,给你个参考,项目大概长这样: Django Project

python3+django2 开发易语言网络验证(中)

第四步:网络验证的逻辑开发 1.将model注册到adminx.py中 1.在apps/yanzheng目录下新建admin.py 文件,添加代码: import xadmin from xadmin import views from .models import Cards class BaseSetting(object): """ 引入更换主题功能 """ enable_themes = True use_bootswatch = Tru