一、配置虚拟机
0. 在VMware中配置虚拟网卡
centOS 7网络配置,解决不能联网、ping不通外网、主机的问题
1. 配置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
注释: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… 如果还报错,一般为网络问题,重复执行几次即可;