我将为您详细讲解在VPS CentOS上配置python、MySQL、nginx、uwsgi和Django的方法。
安装 Python 和 MySQL
首先,我们需要在VPS CentOS中安装Python和MySQL。在终端运行以下命令:
sudo yum install python3
sudo yum install mysql-server mysql
安装完成后,启动MySQL服务并设置为开机自启:
sudo systemctl start mysqld
sudo systemctl enable mysqld
然后,我们需要创建一个MySQL数据库和用户。首先用root用户登录MySQL:
mysql -u root -p
然后输入MySQL的root密码。接着,我们创建一个新的数据库和用户,同时给予权限:
CREATE DATABASE mydb;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
安装 nginx 和 uwsgi
接下来,我们需要安装 nginx 和 uwsgi。在终端运行以下命令:
sudo yum install nginx
sudo yum install uwsgi uwsgi-plugin-python3
安装完成后,我们需要配置nginx和uwsgi。
首先,进入nginx配置目录(一般是/etc/nginx/conf.d),创建一个新的配置文件myapp.conf:
cd /etc/nginx/conf.d
sudo vim myapp.conf
在myapp.conf中添加以下内容:
server {
listen 80;
server_name example.com; # 将example.com替换为您的域名
root /path/to/your/django/project;
charset utf-8;
client_max_body_size 75M;
location / {
uwsgi_pass 127.0.0.1:8001;
include /etc/nginx/uwsgi_params;
}
location /static/ {
alias /path/to/your/django/static/directory;
}
}
然后,进入uwsgi配置目录(一般是/etc/uwsgi.d),创建一个新的配置文件myapp.ini:
cd /etc/uwsgi.d
sudo vim myapp.ini
在myapp.ini中添加以下内容:
[uwsgi]
chdir = /path/to/your/django/project
module = myproject.wsgi:application
master = true
processes = 4
socket = 127.0.0.1:8001
vacuum = true
其中,chdir
指定Django项目的根目录,module
指定Django的入口文件,processes
指定uwsgi启动的进程数,socket
指定uwsgi监听的端口号。
安装 Django 和 uwsgi
最后,我们需要安装Django和uwsgi。在终端运行以下命令:
sudo pip3 install Django
sudo pip3 install uwsgi
安装完成后,启动uwsgi服务:
sudo systemctl start uwsgi
sudo systemctl enable uwsgi
现在,您的VPS CentOS已经成功配置了python、MySQL、nginx、uwsgi和Django,您可以通过访问您的域名来访问您的Django项目。
示例说明
下面以一个名为myproject的Django项目为例,假设它的根目录为/home/myuser/myproject,静态文件存放在/home/myuser/myproject/static目录下。
- 在Django项目的根目录下运行以下命令创建Django项目:
django-admin startproject myproject
- 在myproject/settings.py文件中添加以下内容:
```
ALLOWED_HOSTS = ['example.com'] # 将example.com替换为您的域名
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': 'localhost',
'PORT': '3306',
'NAME': 'mydb', # 按照之前的操作创建的数据库名称
'USER': 'myuser', # 按照之前的操作创建的数据库用户名
'PASSWORD': 'mypassword', # 按照之前的操作创建的数据库用户密码
}
}
```
-
将myproject/settings.py中的
DEBUG = True
改为DEBUG = False
-
创建一个新的Django app:
cd /home/myuser/myproject
python3 manage.py startapp myapp
- 在myapp/views.py中添加以下内容:
```
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse('Hello world!')
```
- 在myproject/urls.py中添加以下内容:
```
from django.urls import path
from myapp.views import index
urlpatterns = [
path('', index, name='index'),
]
```
- 执行以下命令,将Django项目的静态文件收集到一个目录下:
python3 manage.py collectstatic
- 然后,按照上述的nginx和uwsgi配置方式,将根目录替换为/home/myuser/myproject,静态文件目录替换为/home/myuser/myproject/static即可。
至此,您的VPS CentOS已成功配置Django项目。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解 - Python技术站