Linux学习8-CentOS部署自己本地的django项目

前言

自己本地写好的django项目,如何部署到linux服务器上,让其他的小伙伴也能访问呢?本篇以centos系统为例,把本地写好的django项目部署到linux服务器上
环境准备:

环境准备:
1.一台Linux服务器, 操作系统: CentOS 7.4 64位
2.python3.6 (前面已经搭建好)
3.django-2.1.4

django环境准备

前面已经安装好了python3.6.8的环境并且pip也配置好了,安装django直接用pip安装就可以了,安装的django版本位django-2.1.4

pip install django

[[email protected] ~]# pip -V
pip 18.1 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6)
[[email protected] ~]# pip install django
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting django
  Downloading http://mirrors.aliyun.com/pypi/packages/fd/9a/0c028ea0fe4f5803dda1a7afabeed958d0c8b79b0fe762ffbf728db3b90d/Django-2.1.4-py3-none-any.whl (7.3MB)
    100% |████████████████████████████████| 7.3MB 4.8MB/s
Collecting pytz (from django)
  Downloading http://mirrors.aliyun.com/pypi/packages/f8/0e/2365ddc010afb3d79147f1dd544e5ee24bf4ece58ab99b16fbb465ce6dc0/pytz-2018.7-py2.py3-none-any.whl (506kB)
    100% |████████████████████████████████| 512kB 60.9MB/s
Installing collected packages: pytz, django
Successfully installed django-2.1.4 pytz-2018.7

django项目代码

linux服务器上的django环境已经准备好了,接下来就是把在本地电脑已经调通的django项目代码全部复制到服务器上的某个目录下
如下图,通过xftp工具把本地项目代码全部传到/opt/helloworld目录下,前提是在本地浏览器测试没问题了。

启动django

打开到helloworld目录,启动服务:python manage.py runserver

[[email protected] ~]# cd /opt/helloworld/
[[email protected] helloworld]# python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, hello, sessions.
Run 'python manage.py migrate' to apply them.

January 04, 2019 - 08:31:40
Django version 2.1.4, using settings 'helloworld.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

由于这个是搭建在服务器上的,所以只能本机访问:http://127.0.0.1:8000/,可以用python代码验证下

[[email protected] ~]# python
Python 3.6.8 (default, Jan  2 2019, 16:43:17)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> r = requests.get("http://127.0.0.1:8000/")
>>> r.status
>>> r.status_code
200
>>> 

接下来登录阿里云ECS后台-安全组-配置规则-开放8000端口,在浏览器上输入http://47.104.xx.xx:8000/发现无法访问

外网访问django

如果启动方式是 python manage.py runserver默认只能本机访问,为了放开访问权限,让其他人也能访问到这台机器,需加参数0.0.0.0:端口

python manage.py runserver 0.0.0.0:8000

^C[[email protected] helloworld]# python manage.py runserver 0.0.0.0:8000
Performing system checks...

System check identified no issues (0 silenced).
January 04, 2019 - 09:57:15
Django version 2.1.4, using settings 'helloworld.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
Invalid HTTP_HOST header: '47.104.x.x:8000'. You may need to add '47.104.x.x' to ALLOWED_HOSTS.
Bad Request: /
[04/Jan/2019 09:57:20] "GET / HTTP/1.1" 400 59588

启动服务后在浏览器输入:http://47.104.x.x:8000/ ,会报错‘Invalid HTTP_HOST header: ‘47.104.x.x:8000‘. You may need to add ‘47.104.x.x‘ to ALLOWED_HOSTS.’

关闭debug,设置ALLOWED_HOSTS

打开helloworld/settings.py文件,找到这2行代码

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []

关闭debug调试功能,ALLOWED_HOSTS设置为全部

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = ["*"]

修改完成后保存下,重启django服务

python manage.py runserver 0.0.0.0:8000

接着在本地浏览器上访问,就能正常的打开页面了

到这里一个简单的django的demo项目就已经成功的部署到linux服务器上了,于是就可以通知你的小伙伴看你做的网站咯~

原文地址:https://www.cnblogs.com/yoyoketang/p/10220941.html

时间: 01-03

Linux学习8-CentOS部署自己本地的django项目的相关文章

linux学习之centos(三):网卡配置

Linux系统版本:Centos 6.5 在linux学习之centos(二):虚拟网络三种连接方式和SecureCRT的使用中,使用远程工具SecureCRT,通过“ifconfig eth0 + 具体的ip地址”命令给linux配IP地址,但是这种配置方式存在以下问题: 只能临时生效,一旦重启,需要重新配置: 只能配置ip地址和子网掩码,可以连接内网,是无法连接外网的. 如果想要连接外网,ip地址.子网掩码.网关.DNS缺一不可. 如何真正的给CentOS配一个ip,而且设置成功后,通过使用

Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同

Linux学习之CentOS(三)----将Cent0S 7的网卡名称eno16777736改为eth0

Linux系统版本:CentOS_7(64位) 一.前言: 今天又从Centos 6.5装回了Centos 7,毕竟还是要顺应潮流嘛.安装完成之后,发现发现CentOS 7默认的网卡名称是eno16777736,如图所示: 像我这种有轻微强迫症的人看到这个名字总感觉不爽,于是偏要把eno16777736改成以前版本的eth0,那就开始吧. 二.修改CentOS 7的网卡名称: 输入如下命令,进入对应目录,编辑文件: vim /etc/sysconfig/grub 然后,往这个文件中添加“net.

Linux学习之CentOS(一)--CentOS6.4环境搭建(转)

一.前言 作为一个想从事j2ee后台开发的程序猿,linux系统怎能不学呢?所以,这几天自己准备学习一下linux操作系统.废话不多说,直奔主题. 要学linux开发,首先得要安装linux系统吧,这里我在选择之前也挺迷茫,因为linux系统有太多可选择了,例如最著名的的RedHat.咱中国人开发的红旗Linux,Ubuntu.Fedora.CentOS等等,最后在请教了一下前辈们以后,选择了安装CentOS这个系统. 二.CentOS简介 CentOS(Community ENTerprise

一、linux学习之centOS系统安装(VMware下安装)

一.下载 这个真的没有什么技术含量,也不附下载连接了.这里需要说明的是,其实在VMware下安装centOS是非常简单的,但是这里我要纪录的是在PC上安装centOS,之所以跟标题有出入是因为为了纪录我是在VMware上进行操作的,所以如果有实际安装上的不同我会在正文中特别标注. 二.安装 1.开启电脑后选择猛按F2(有的机型是Del键)进入BOIS界面(如果是VMware安装,选中要进入的系统然后点[虚拟机]--[电源]--[打开电源时进入固件]即可直接进入bois界面) 2.使用Tab键切换

Linux学习之CentOS(一)----在VMware虚拟机中安装CentOS 7

[正文] 一. VMware简介: VMware是一个虚拟PC的软件,可以在现有的操纵系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC,以此来实现在一台机器上真正同时运行两个独立的操作系统. VMware的主要特点: 不需要区分或重新开机就能在同一台PC上使用两种以上的操作系统: 本机系统可以与虚拟机系统网络通信: 可以设定并且随时修改虚拟机操作系统的硬件环境. VMware Workstation10.0.3下载地址: 精简版:http://pan.baidu.com/s/1jGFqhz

linux学习之centos(四):git的安装

整个流程如下:(参考文章:linux安装git方法) [[email protected] 桌面]$ wget https://github.com/git/git/archive/v2.8.3.zip --2016-05-23 14:43:32-- https://github.com/git/git/archive/v2.8.3.zip 正在解析主机 github.com... 192.30.252.130 正在连接 github.com|192.30.252.130|:443... 已连接

Linux学习之CentOS(二)--初识linux的一些常用命令

初次学习linux系统,首先也得会一些linux的基本命令. linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似.linux命令在系统中有两种类型:内置Shell命令和Linux命令. linux的命令非常的多...没有4000多,起码也得有3500左右,咱们不可能都去学习这么多的命令,也不可能学完....就像java的API一样,咱们只需要

Linux学习之CentOS(二十八)--RAID原理基础及Linux下软件RAID配置

转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/20/3089554.html 本篇随笔将详细讲解RAID的原理基础以及Linux下软件RAID的配置 一.RAID的原理基础 在 讲解RAID的原理基础之前,我们首先来了解一下传统磁盘的劣势.我们知道一台PC机种都会包含CPU.内存.主板.硬盘.网卡等硬件,影响计算机性能的 组建包括:CPU.主板总线IO.内存IO.硬盘IO.网卡IO等.可能我们在一提到影响计算机的性能时,首先

二、Linux学习之centOS的的setup

因为我是在VMware上安装的centOS,网络设置选择的是桥接模式,这样可以和实体机使用同样的网络,但是也使用同样的IP,因此就需要设置一下IP了,否则使用ifconfig查询ip的时候显示的是127.0.0.1,这样就无法使用元素弄成连接工具进行操作了. 设置步骤如下: 1.命令行输入 “setup”回车 2.选择第三个”Network configuration”,回车 3.选择第一个,回车 4.还是第一个,其实也就是选择网卡了,然后回车 5.设置成我这样子的就可以了 需要注意的是,第三行