之前把网站放在服务器上,用的是Windows Service 装nginx,然后再进行代理。那这样的方式的好处就是 它毕竟是图形界面,像我这种不习惯命令行的,比较舒服。最近和学生 学习了一下Linux加宝塔面板的使用,感觉还是很方便的。准备记录一下,防止自己以后忘了。首先,租一个服务器,然后安装Linux系统,其次,通过指令安装宝塔面板。这个很容易搞定。if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
安装成功后将弹出一个网址,连接到宝塔面板。当然了,用户名、密码、端口号 记得保存一下。接下来,如果是不涉及到后端的网站,只需要上传前端打包好的文件。并且,指定好ip地址和文件路径就可以了。不需要去写ngiex的配置文件,这一点是很方便的。像我这个系统呢,本身是要在服务器上装mySQL数据库,也肯定涉及到后端的,所以还需要:1.从本地电脑上的数据库,导出一个备份,然后,选择安装和本地电脑数据库一样的数据库版本,然后再导入就行。这个过程非常快,我有七八个表吧,当然了,数据量不多,应该几秒内就能完成,如果报错的话,一般是数据库版本不对。我目前用的是8.0。2.后端的文件不需要打包,把整个文件直接上传到你安排的目录就可以。但是,运行的话呢,有一个区别,我目前没有配置虚拟环境,因为我这台服务器只跑这一个软件,而且,我不太会那个功能。然后,需要使用Python项目管理器——这个和我之前的就很像,就是其实就是让一个程序跑起来,这个程序 它会监听端口,等待指令。当然了,有一些必要的库需安装。3.在Html那块的配置文件要改一下,创建一个反向代理:把所有访问api的请求转发到本地的5000端口上。 location /api { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; pro
4.那在 后端 .env文件里面,要修改数据库连接的密码,这个密码肯定是不一样的。在创建服务器 数据库的时候,它应该会自动生成一个长达12位的随机数密码。# /www/wwwroot/ceshi/backend/.envMYSQL_HOST=localhostMYSQL_PORT=3306MYSQL_USER=teaching_tacticsMYSQL_PASSWORD=你的数据库密码MYSQL_DATABASE=teaching_tacticsFLASK_ENV=production
5.在后端文件,不应该出现硬编码,会导致环境变量不生效。// 正确写法 - 使用环境变量const API_BASE_URL = import.meta.env?.VITE_API_BASE_URL || 'http://localhost:5000';fetch(`${API_BASE_URL}/api/login`)// 错误写法 - 硬编码fetch('http://localhost:5000/api/login')
最后,祝本公众号的老朋友们——新年快乐!身体健康、工作顺利!