略
centos7 初始 不联网
1.更改虚拟机网络链接为 桥接模式,并启用网络链接
2 修改配置文件
cd /etc/sysconfig/network-scripts/
vi ifcfg-en33 # en33 会有差异修改文件中的ONBOOT=yes
3 配置静态ip
重启
service network restart1 安装wget
yum install wget2 更换yum 源
备份一下原本的yum源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup下载阿里云的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo生成缓存
yum makecache3 更新
yum update配置ssh
检查有没有安装ssh服务:
rpm -qa | grep ssh
如果没有安装ssh服务就安装 :
yum install openssh-server安装好后在ssh配置文件里进行配置 :
vi /etc/ssh/sshd_config
开启ssh服务
/bin/systemctl start sshd.service
检查ssh服务是否开启
ps -e | grep sshd
检查22端口是否开启
netstat -an | grep 22如果出错,netstat 命令没有发现,安装相关包
yum install net-tools将ssh服务添加到自启动列表中:
systemctl enable sshd.service查看虚拟机centos ip地址
ip addr在windows 客户端登录
NodeJS 10.x
# As root
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
# No root privileges
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -安装 yarn
## 安装yarn
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
yum install -y yarn更换npm源
npm install -g cnpm --registry=https://registry.npm.taobao.org安装 @nestjs/cli
cnpm install -g i @nestjs/cli@6.0.0查看版本
nest --version清华源
vi /etc/yum.repos.d/mysql-community.repo修改5.7 版本对应的baseurl为
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql57-community-el7/同时 enable改为1
enable=1
打开清华镜像站点
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/选择版本(5.7),el7代表centos7
复制链接地址
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql57-community-el7/下载
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql57-community-el7/安装
yum -y install mysql-community-server启动
systemctl start mysqld1 安装yum repo
由于centos的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm然后进行repo的安装
rpm -ivh mysql57-community-release-el7-9.noarch.rpm2 安装mysql
安装
yum install mysql-server启动mysql
systemctl start mysqld获取安装时的临时密码
grep 'temporary password' /var/log/mysqld.log
# eB%lUTsHU2%n
登录mysql
mysql -u root -p
输入获取的临时密码
grep ‘temporary password’ /var/log/mysqld.log登录成功后,修改登录密码
1 修改密码(密码必须满足密码策略,设复杂点)
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root_@_Password_0’;
2 查看mysql初始密码策略
SHOW VARIABLES LIKE ‘validate_password%’;
关于 mysql 密码策略相关参数;
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
创建数据库
create database taskmanagement charset utf8 collate utf8_general_ci;
此处凡是通过process.env获取的 数据都 添加到环境变量中
不敏感的配置如端口 定义在代码的config文件夹中(基于代码的)
敏感信息,如生产模式数据库名和密码定义在环境变量中。
在node环境中,process.env 一直是可用的,不用安装其他软件就可以使用,可以在 node环境中测试
process.env.PROCESSOR_ARCHITECTURE
// 结果 ‘AMD64’
打开/etc/bashrc,添加项目中 process.env 指向的环境变量
export NODE_ENV=production
# 运行端口
export RDS_PORT=3306 #数据库端口
#数据库用户名
export RDS_USERNAME=root
#数据库密码
export RDS_PASSWORD=root # 你自己的数据库密码
# 数据库名
export RDS_DB_NAME=taskmanagement # 你自己的数据库名
# 生产环境数据库模式
export TYPEORM_SYNC=false
export JWT_SECRET=topSecret51运行命令
source /etc/bashrc1 添加nginx源
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2 安装nginx
yum -y install nginx3 启动nginx
/usr/sbin/nginx4 查看防火墙状态,开启80端口
systemctl status firewalld
firewall-cmd --state
firewall-cmd --list-all
firewall-cmd --permanent --add-port=80/tcp重启防火墙
firewall-cmd --reload5 测试nginx(浏览器输入)
http://ip:806 设置nginx 开机启动
systemctl enable nginx查看selinux的状态
/usr/sbin/sestatus将SELINUX=enforcing 修改为 SELINUX=disabled 状态
vim /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled重启
reboot配置
1 创建文件存放路径
mkdir website根目录下创建website文件夹, website 下存放多个项目 文件.
website
-todo
-frontend #前端
-backend #后端2 修改文件夹权限
chmod 777 website #以及其他文件夹权限
3 下载FileZilla,安装
链接服务端 略
4 编译前端代码,上传代码到前端文件夹
代码有两处需要修改:
4.1 编译前修改 前端代码中的 BASE_URL 为服务器
4.2 修改 tasks所有后端接口,添加 api/
yarn run build上传生成的build文件夹下的所有文件
5 修改nginx 配置
vi /etc/nginx/conf.d/default.conf
重启nginx
nginx -s reload测试
http://ip:806 后端代码上传
修改后端代码中的端口 为 4000
tasks 组件中添加 api/
上传出 node_modules与 .git外的所有代码到后端存放路径
进入
cd /website/todo/backend/7 安装 所需的库
yarn install8 启动后端
yarn run start:prod9 配置nginx 反向代理
vi /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
location / {
#root /usr/share/nginx/html;
root /website/todo/frontend;
index index.html index.htm;
try_files
u
r
i
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
t
o
k
e
n
v
a
r
i
a
b
l
e
"
>
uri
uri</span><spanclass="tokenvariable">uri/ /index.html;
}
location ^~ /auth {
proxy_pass http://127.0.0.1:4000;
}
location ^~ /api {
proxy_pass http://127.0.0.1:4000;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
重启ngnix
nginx -s reload启动后端
yarn run start:prodpm2安装,测试
npm i -g pm2使用PM2启动 项目(只需执行一次)
pm2 start yarn --interpreter bash --name todo – start:prod
停止项目
pm2 stop todo重启项目
pm2 restart todo杀死项目进程
pm2 delete 0,1,2 …. # 数字代表 pm2进程,all --删除所有进程