Skip to main content

[项目部署]:创建虚拟环境并启动服务

创建虚拟环境

服务器上的操作和我们在本地操作一样。 先使用pip 安装virtualenv, 命令如下:

pip install virtualenv

创建一个名为venv的虚拟环境,输入命令:

virtualenv venv

ls命令看下目录,现在就新增了一个venv虚拟环境。 然后我们在这里启动它,命令如下:

source venv bin activate

接下来,安装上面创建的依赖包。使用如下命令:

pip install -r requirements.txt

它会自动的将所有的文件夹中的包一个一个进行安装,

如果某一个包报错了,我们可以在requirements.txt文件中, 把它里面有一个包删掉,后面再手动单独安装它。

配置静态资源

config/settings.py

STATIC_URL = 'static/'

STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]

# 静态文件收集目录
STATIC_ROOT = Path(BASE_DIR).joinpath('collected_static')
代码解析
  • STATICFILES_DIRS 告诉Django额外的静态文件路径
  • STATIC_ROOT 是collectstatic命令收集静态文件的输出目录

两者在静态文件收集的时候互相协作,Django会搜索STATICFILES_DIRS指定的目录,并将文件复制到STATIC_ROOT输出目录中。

使用如下命令收集静态资源文件:

python manage.py collectstatic

执行完成后,将会生成一个collected_static文件夹,所有静态资源将存放在改文件夹下。

启动服务

接下来我们来启动服务,运行命令:

python manage.py runserver

启动这个服务,看一下有什么错误。 然后我们依次来解决这些问题。

首先第一个是这里的localhost数据库的连接问题。 在服务器上,不再使用本地的书库里,所以需要修改一下配置文件, 找到config这里settings.py,修改数据库信息。

图49-修改数据库信息

接下来我们再启动服务:

python manage.py runserver

这里提示端口已经被占用, 它默认的是8000端口, 而我们在配置的时候, 咱们设置的是9000端口。 所以我们可以使用这个命令:

python manage.py runserver 127.0.0.1:9000

此时这个服务就已经启动了, 至少这已经证明, 我们现在程序可以正常运行了。

那么能不能直接访问它呢, 显然是不行的, 这是服务器的内网IP, 相当于你访问的是你本地。 如果换成这个公网IP,它也是无法访问的。

那么如何解决这个问题呢?下节课我们将介绍使用nginx反向代理来实现。