在Centos7虚拟机上部署前后端分离项目流程

本文介绍了如何在Centos7虚拟机上部署前后端分离项目,包括配置虚拟机、搭建Conda环境、配置pip和yum镜像源、开启SSH服务、迁移项目、安装使用mysql8.0数据库、安装uwsgi和nginx,以及解决前后端通信问题。详细步骤包括设置IP、关闭防火墙和selinux,安装与管理虚拟环境,配置pip和yum源,迁移项目并安装依赖,以及数据库和服务器的安装配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、配置虚拟机

0. 在VMware中配置虚拟网卡
centOS 7网络配置,解决不能联网、ping不通外网、主机的问题

1. 配置IP

如下图:
配置静态ip

具体操作 :进入到命令行,输入:

​ vi /etc/sysconfig/network-scripts/ifcfg-eno33 划线部分根据实际网卡名字更改。

​ 配置好以后,重启网卡,centos7的命令为:

systemctl restart network

2. 关闭防火墙(firewalld)及selinux

a) 关闭防火墙:

​ i. 临时关闭:systemctl stop firewalld

​ ii. 永久关闭:systemctl disable firewalld

b) 关闭selinux:

​ i. 临时关闭:setenforce 0

​ ii. 永久关闭:请编辑/etc/selinux/config文件,将SELINUX=disabled。之后将系统重启一下即可。

二、在虚拟机上搭建Conda环境

**1.**安装及配置清华大学的镜像源:

​ 安装过程见这个网页:

​ https://blog.youkuaiyun.com/weixin_43840215/article/details/89599559

**注意:**安装好conda之后需要重启一下系统,否则命令行里输入conda会提示找不到conda命令!

​ 虽然该网页写的是ubuntu系统的安装教程,centos7一样适用;

​ 上面给的镜像源不可用,建议使用下面的:

​ https://repo.anaconda.com/pkgs/main/linux-64

​ https://repo.anaconda.com/pkgs/main/noarch

​ https://repo.anaconda.com/pkgs/r/linux-64

​ https://repo.anaconda.com/pkgs/r/noarch

**2.**创建虚拟环境及一些常用指令:

2.1创建虚拟环境:

​ conda create -n tianji python= 3.7 (创建名为“tianji”,python版本为3.7的虚拟环境;)

​ conda create -n tianji python (不给python赋值,则默认安装最新版python;)

2.2 查看已存在的虚拟环境列表:

​ conda info –e

​ 2.3 开启虚拟环境:

​ conda activate tianji

​ 2.4 关闭虚拟环境:

​ conda deactivate

​ 2.5 删除虚拟环境:

​ 先退出要删除的虚拟环境,然后输入:

​ conda remove -n tianji --all

​ 2.6 获取conda官方使用文档

​ conda -h

3.镜像源的添加与删除:

​ 添加指令1的网页教程上有,删除步骤如下:

l 查看本机conda的镜像源:

conda config --get channels

l 删除指定镜像源:

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

**
**

三、配置pip和yum镜像源

1. 配置pip镜像源:

Python pip配置国内源 - 暮光微凉 - 博客园 (cnblogs.com)

2. 配置yum源

linux(centos7)设置源并且初始化_vict5220sakura的博客-优快云博客

配置centos7的yum源-解决yum报错:cannot find a valid baseurl for repo:base…
(如果你在国内、直接从文章的 “方法四:使用阿里云或其他国内镜像源” 这部分开始看即可)

四、开启SSH服务

1. 安装依赖包:

首先要在centos7中安装 openssh-server,在终端输入 yum install openssh-server

2. 用vim修改配置文件,开启服务

vim /etc/ssh/sshd_config

将文件中,关于监听端口、监听地址前的 # 号去除

在这里插入图片描述

然后,开启允许远程登录及开启使用用户名密码来作为连接的验证,如下图所示:
在这里插入图片描述

在这里插入图片描述

3. 开启sshd服务

输入 sudo service sshd start

详细过程见:

​ a.Centos7****开启SSH服务 - KinwingHU - 博客园 (cnblogs.com)

​ b.VsCode****无法连接SSH - zhaogaojian - 博客园 (cnblogs.com)

五、迁移项目

1. 迁移:

在xshell中通过xftp工具将项目文件迁移到虚拟机指定的路径(路径可根据需要随意指定)

**2.**安装requirements.txt文件中列出的项目依赖包

迁移完成后,进入到虚拟机的项目路径中,在requirements.txt文件所在目录中,执行指令:

pip install -r requirements.txt

此时虚拟机会自动安装该文件内的所有项目所需的依赖包;

**3.**问题说明:

​ 在使用requirements.txt文件过程中,会发现有两个组件无法使用:

​ django-filters==0.2.1

#解决办法,配置pip镜像源为国内镜像,方法见此网站:

​ https://www.cnblogs.com/schut/p/10410087.html

​ mysqlclient==2.0.1

​ #解决方案:安装mysqlcilent一些必须的依赖包,使用指令:

​ yum install mysql-devel gcc gcc-devel python-devel

解决了pip镜像源和mysqlcilent依赖包的问题后,重新在requirements.txt文件所在路径下执行命令:

​ pip install -r requirements.txt

到此,项目所需的所有依赖库都已经全部安装完成;

六、安装及使用mysql8.0数据库

1. 安装:

安装步骤见下面两个网页,(对照着看,网页内容有些小问题,注意分辨):

安装:https://blog.youkuaiyun.com/qq_38570633/article/details/109257430

无法远程访问的解决办法:https://www.cnblogs.com/liran123/p/10164564.html

​ 安装完后需要安装mysqlclient才能正常使用数据库,安装步骤如下:

​ 先安装依赖

​ yum install python3-devel

​ yum install mariadb-devel

​ yum install -y gcc

​ 再安装mysqlclient

​ pip install mysqlclient

​ 另外,建好的项目中的setting.py文件里的ALLOWED_HOSTS应该设置为 =[‘*’],也即允许任意ip地址访问该项目;详细的设置可以去百度 ‘allowed_hosts的设置’。

2. 使用:

\1) ctl+d 关闭正常运行的mysql数据库:

\2) 进入到mysql数据库:

​ a. mysql -u root -p

​ b. 输入数据库密码即可正常使用;

\3) 创建新的数据库:

​ create database drf character set ‘utf8’; # drf为数据库的名字;

\4) 使用新创建的数据库:

​ use drf;

\5) 显示所有的数据库:

​ show databases;

\6) 删除数据库:

​ i. drop database test1;

\7) 退出数据库:

​ i. \q;

​ ii. exit;

​ iii. quit;

​ iv. (或者直接按键盘上的)Ctrl+d 键

\8) 配置数据库的远程访问:

上面的安装教程中给的网页链接里面有两个地方需要注意:

a. 网页里代码符号逗号引号都是中文符号,需要改为英文;

b. 网页给的GRANT ALL ON . TO 'root'@'%'; 代码是错的,正确的应该是:

GRANT ALL ON *.* TO 'root'@'%';

七、安装uwsgi、nginx

**1.**更新pip:

在conda的基础环境base中,输入:

pip install --upgrade pip

**2.**安装uwsgi:

依次输入以下指令:

    yum install -y gcc* pcre-devel openssl-devel

​    yum install -y python-devel

​    pip install uwsgi

详见:解决Centos7 安装uwsgi失败的详细流程

注释:uwsgi主要用于处理动态请求,而nginx则主要用于处理静态请求,详见:

nginx和uwsgi的区别和作用 - gugubeng - 博客园 (cnblogs.com)

**3.**安装nginx:

​ Centos 7下安装nginx,使用yum install nginx,提示没有可用的软件包,是因为很多软件包在yum里面没有的,解决的方法,就是使用epel源,也就是安装epel-release软件包。

按照下面的顺序执行:

yum install epel-release

yum install nginx

详情请看下面的网页链接:

解决Centos7 yum install nginx 没有可用的软件包

注释:nginx主要用于处理静态请求;

**4.**配置uwsgi

​ 见onenote笔记

**5.**配置Nginx

​ 见onenote笔记

**6.**启动Nginx遇到的问题

​ 经检查Nginx配置,语法均ok(检查语法在任意目录下使用nginx -t指令),但是nginx服务就是启动不起来,原因比较隐蔽,SeLinux没有关,关闭方法:

​ # setenforce 0 #临时将selinux关闭

如果需要永久关闭selinux,请编辑/etc/selinux/config文件,将SELINUX=disabled。之后将系统重启一下即可。

八、前后端通信

1. 前置工作:

安装node 和 git, 进入到前端代码根目录 cd /root/tianji/…,分别输入指令:

pip install node

yum install git

2. 安装npm依赖包:

a) 配置npm源,一般设置为淘宝镜像源,指令如下:

npm config set registry https://registry.npm.taobao.org

b) 安装前端所需的依赖:

npm install

c) 修改前端代码,ip地址的更换,创建生产者模式文件(.env.production)

d) 将前端代码打包供后端使用:

npm run build

3. npm install 过程中遇到的坑:

根据vue-element-admin作者给出的要求,本前端代码需要在本地安装node和git,注意,坑来了,先交代一下我的系统环境,我使用的虚拟机为Centos7。

a) 一般安装node,首先想到的是 yum install node,结果提示找不到这个包;那就使用pip install node,Ok,node装上了,yum install git,也装好了,接下来使用淘宝镜像执行npm install:

npm install --registry=https://registry.npm.taobao.org

结果一直报错,推断使用pip单一安装node应该不够,去网上一搜,发现nodejs和node一样,只是多装了个npm组件,遂马上执行yum install nodejs,然后出现上面一样的结果,一直报错;

b) 经查得知是yum安装的nodejs版本过低,解决办法:

安装nodesource后再执行yum install -y nodejs

\1) curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -

\2) sudo yum -y install nodejs

\3) npm install --registry=https://registry.npm.taobao.org

\4) 上面的npm install –regi… 如果还报错,一般为网络问题,重复执行几次即可;

一样,只是多装了个npm组件,遂马上执行yum install nodejs,然后出现上面一样的结果,一直报错;

b) 经查得知是yum安装的nodejs版本过低,解决办法:

安装nodesource后再执行yum install -y nodejs

\1) curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -

\2) sudo yum -y install nodejs

\3) npm install --registry=https://registry.npm.taobao.org

\4) 上面的npm install –regi… 如果还报错,一般为网络问题,重复执行几次即可;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值