要部署React JS + Django + CentOS + SSL,您可以按照以下步骤进行操作:
安装CentOS操作系统并设置必要的网络和安全配置。
安装Node.js和npm:使用以下命令在CentOS上安装Node.js和npm。
sudo yum install -y nodejs
创建和配置React JS应用程序:使用以下命令在CentOS上创建一个新的React JS应用程序。
npx create-react-app myapp
cd myapp
编辑React JS应用程序的配置文件,如package.json
,以确保正确的构建和运行设置。
构建React JS应用程序:运行以下命令构建React JS应用程序。
npm run build
这将在build
目录中生成静态文件,用于部署。
安装Django:使用以下命令在CentOS上安装Django。
sudo pip install django
创建和配置Django项目:使用以下命令在CentOS上创建一个新的Django项目。
django-admin startproject myproject
cd myproject
编辑Django项目的配置文件,如settings.py
,以确保正确的数据库和静态文件设置。
配置Django项目的URL路由:编辑urls.py
文件,以将所有请求转发到React JS应用程序的静态文件。
from django.contrib import admin
from django.urls import path, include
from django.views.generic import TemplateView
urlpatterns = [
path('admin/', admin.site.urls),
path('', TemplateView.as_view(template_name='index.html')),
]
这将确保所有请求都被转发到React JS应用程序的静态文件。
配置Django项目的静态文件服务:编辑settings.py
文件,以配置Django项目提供静态文件的服务。
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
使用Django的collectstatic
命令收集静态文件:运行以下命令收集Django项目的静态文件。
python manage.py collectstatic
配置SSL证书:获取有效的SSL证书,并将其安装在CentOS服务器上。
配置Web服务器:根据您的首选Web服务器(如Nginx或Apache)的配置文件,将SSL证书和反向代理设置添加到服务器配置中。
示例Nginx配置文件:
server {
listen 80;
server_name example.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/ssl_certificate.crt;
ssl_certificate_key /path/to/ssl_private_key.key;
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
这将使Web服务器监听80端口并将所有请求重定向到HTTPS,然后使用SSL证书进行加密,并将请求代理到Django应用程序的8000端口。
启动Django开发服务器:运行以下命令启动Django开发服务器。
python manage.py runserver
这将在本地启动Django开发服务器,监听8000端口。
启动Web服务器:启动您选择的Web服务器,以便它可以代理请求到Django应用程序并提供静态文件。
示例使用Nginx的命令:
sudo systemctl start nginx
现在,您的React JS应用程序和Django项目已部署在CentOS服务器上,并