首先,你需要在 Linode 上创建一个新的服务器实例。登录 Linode 控制台,选择”创建”按钮,然后选择合适的 Linux 发行版,如 Ubuntu 20.04 LTS。根据你的需求选择合适的机型和存储空间。
登录到新创建的 Linode 服务器,运行以下命令安装 Python 和 Django:
sudo apt-get update sudo apt-get install python3 python3-pip pip3 install django
这样,你就完成了 Django 开发环境的基本搭建。接下来,我们将部署你的 Django 应用程序。
将你的 Django 项目代码上传到 Linode 服务器。你可以使用 SFTP 或 SCP 等工具将代码文件传输到服务器的某个目录,例如 /var/www/your-project。
为了避免依赖包之间的冲突,我们需要为项目创建一个虚拟环境。运行以下命令:
python3 -m venv /var/www/your-project/venv source /var/www/your-project/venv/bin/activate
这样就创建并激活了一个名为 venv 的虚拟环境。
在虚拟环境中,使用 pip 安装项目所需的依赖包:
pip install -r /var/www/your-project/requirements.txt
确保项目根目录下有一个 requirements.txt 文件,列出了所有的依赖包。
接下来,需要对 Django 项目进行一些配置。首先,修改 settings.py 文件,将 DEBUG 设置为 False,并配置 ALLOWED_HOSTS 和 STATIC_ROOT 等参数:
python DEBUG = False ALLOWED_HOSTS = [‘your_server_domain_or_ip’] STATIC_ROOT = os.path.join(BASE_DIR, ‘static/’)
然后,运行以下命令收集静态文件并迁移数据库:
python manage.py collectstatic python manage.py migrate
至此,Django 项目的部署准备工作已经完成。接下来,我们需要配置 Nginx 和 Gunicorn 来服务这个 Django 应用程序。
运行以下命令安装 Nginx:
sudo apt-get install nginx
创建一个新的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/your-project
在该文件中添加以下内容:
nginx server { listen 80; server_name your_server_domain_or_ip;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /var/www/your-project;
}
location / {
include proxy_params;
proxy_pass http://unix:/var/www/your-project/your-project.sock;
}}
保存并退出编辑器,然后运行以下命令启用该配置:
sudo ln -s /etc/nginx/sites-available/your-project /etc/nginx/sites-enabled sudo systemctl restart nginx
Gunicorn 是一个 Python WSGI HTTP 服务器,用于处理 Django 应用程序的动态请求。运行以下命令安装 Gunicorn:
pip install gunicorn
在项目根目录下创建一个 Gunicorn 配置文件 gunicorn.conf.py:
python bind = ‘unix:/var/www/your-project/your-project.sock’ workers = 3 user = ‘www-data’
这里,bind 参数指定了 Gunicorn 监听的 Unix 套接字文件路径,workers 参数设置了 Gunicorn 工作进程的数量,user 参数指定了运行 Gunicorn 的用户。
最后,创建一个 systemd 服务文件 /etc/systemd/system/gunicorn.service:
[Unit] Description=Gunicorn server for your-project After=network.target
[Service] User=www-data Group=www-data WorkingDirectory=/var/www/your-project ExecStart=/var/www/your-project/venv/bin/gunicorn –config /var/www/your-project/gunicorn.conf.py your-project.wsgi Restart=always
[Install] WantedBy=multi-user.target
保存并启动 Gunicorn 服务:
sudo systemctl start gunicorn sudo systemctl enable gunicorn
至此,你已经完成了 Django 应用程序在 Linode 上的部署配置。Nginx 将处理静态文件请求,并将动态请求转发给 Gunicorn 处理。
在 Linode 服务器上,你可以使用以下步骤创建一个新的 Django 项目:
/var/www/your-project。django-admin startproject your-project 命令创建一个新的 Django 项目。settings.py 文件,设置数据库、静态文件等相关参数。在 Linode 服务器上部署 Django 应用程序的步骤如下:
/var/www/your-project 目录。settings.py 文件,如设置 DEBUG、ALLOWED_HOSTS 和 STATIC_ROOT 等参数。/etc/nginx/sites-available/your-project。gunicorn.conf.py。/etc/systemd/system/gunicorn.service。settings.py 文件中数据库的连接信息是否正确。STATIC_ROOT 设置正确。如果你在部署过程中遇到任何问题,可以查看相关日志文件来排查问题所在。