linux中常用软件安装部署流程
node安装
下载解压安装包
node的安装包可以自行放置到某个目录
cd ~/
wget https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64.tar.gz
tar -xf node-v14.17.0-linux-x64.tar.gz
创建软连接
ln -s ~/node-v14.17.0-linux-x64/bin/node /usr/bin/node
ln -s ~/node-v14.17.0-linux-x64/bin/npm /usr/bin/npm
安装cnpm和pm2
npm i cnpm -g
ln -s ~/node-v14.17.0-linux-x64/bin/cnpm /usr/bin/cnpm
cnpm i pm2 -g
ln -s ~/node-v14.17.0-linux-x64/bin/pm2 /usr/bin/pm2
查看版本
node -v
npm -v
pm2 -v
nginx安装
安装依赖包
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
下载解压nginx
cd /usr/local //下载tar包
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -xvf nginx-1.18.0.tar.gz
安装编译
cd /usr/local/nginx-1.18.0
./configure
make
make install
创建软连接
ln -s ~/node-v14.17.0-linux-x64/bin/nginx /usr/bin/nginx
配置和命令
/usr/local/nginx/conf/nginx.conf // 配置文件目录
nginx程序目录:/usr/local/nginx/sbin/nginx
./nginx 启动
./nginx -t 查看配置
./nginx -s stop 停止
./nginx -s reload 重启
证书配置
如果初次安装nginx如果没有配置ssl模块,则需要安装ngx_http_ssl_module模块,步骤如下:
- 进入到源码包
cd /usr/local/nginx-1.8.1
2. 使用./configure 命令
\--prefix后面目录是已安装nginx的目录
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
-
使用make命令安装
注意:不要使用make install
make
- 可以配置一下原有的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_bak
-
将编译好的nginx覆盖原有的nginx
此步骤需先把nginx服务停止
\cp /usr/local/nginx-1.18.0/objs/nginx /usr/local/nginx/sbin/
- 安装完成
/usr/local/nginx/sbin/nginx -V
mongodb安装
下载解压安装包
cd /usr/local
wget https://ucan-static.oss-cn-beijing.aliyuncs.com/tools/mongodb-linux-x86_64-rhel70-5.0.5.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-5.0.5.tgz
mv mongodb-linux-x86_64-rhel70-5.0.5 /usr/local/mongodb
配置目录
cd /usr/local/mongodb
mkdir -p data/db
mkdir -p logs
touch logs/mongodb.log
创建配置文件
在mongodb的bin目录下,创建mongodb.conf配置文件
cd /usr/local/mongodb/bin
vi mongodb.conf
#端口号
port=27017
#db目录
dbpath=/usr/local/mongodb/data/db
#日志目录
logpath=/usr/local/mongodb/logs/mongodb.log
#后台
fork=true
#认证
auth=true
#日志输出
logappend=true
#允许远程IP连接
bind_ip=0.0.0.0
启动停止命令
启动
mongodb为了安全性建议修改端口和设置访问权限,不然很容易被黑
cd /usr/local/mongodb/bin
./mongod -dbpath=/usr/local/mongodb/data/db -logpath=/usr/local/mongodb/logs/mongodb.log -logappend --auth -port=27017 -fork // 通过命令行认证方式启动
./mongod -f mongodb.conf --fork --auth // 通过配置启动(推荐)
启动报错
./mongo: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
可能是没有安装libcrypto.so.10
## 查看是否安装
rpm -qa | grep libcrypto.so
## 安装
dnf install compat-openssl10
停止
方法一:
ps -ef | grep mongo
kill -9 id
方法二:
./mongod -shutdown -dbpath=/usr/local/mongodb/data/db
连接
./mongo
配置数据库访问权限
添加数据库和用户时可能报错
admin数据库
show databases
use admin
db.createUser(
{
user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
db.auth('admin','123456')
连接测试
mongodb://admin:123456@localhost/
普通数据库
use chengzi // 创建数据库,此时看不到
// 新增用户看到Successfully即设置成功
db.createUser(
{
user: "root",
pwd: "xxx",
roles: [ { role: "readWrite", db: "chengzi" } ]
}
)
show users // 查看用户
db.changeUserPassword("xxx","changepass") // 修改用户密码
db.auth('user', 'pass') // 认证
// 新建集合
db.mytable.insert({title:"我是数据"}) // 需要在数据库中插入数据才能看到,mytable为表集合
node连接数据库
const MongoClient = require('mongodb').MongoClient
const db = 'canpoint'
const DB_URL = `mongodb://xxx:xxx@42.194.220.14:27017/?authSource=canpoint`
let dbClient
MongoClient.connect(DB_URL, function (error, client) {
if (!error) {
dbClient = client
console.log('mongodb连接成功')
} else {
console.log('mongodb连接失败')
}
})
redis安装
下载解压安装包
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar -zvxf redis-5.0.7.tar.gz
mv redis-5.0.7 /usr/local/redis
编译安装
cd /usr/local/redis
make
make PREFIX=/usr/local/redis install
启动
cd /usr/local/redis
./bin/redis-server& ./redis.conf // 后台启动
linux操作redis
cd /usr/local/redis/src
./redis-cli
get *
config get requirepass // 查看是否设置密码
config set requirepass xxxx // 设置密码
auth xxx // 密码登录
node链接redis
const Redis = require('ioredis')
const redis = new Redis({
port: 6379, // Redis port
host: '127.0.0.1', // Redis host
family: 4, // 4 (IPv4) or 6 (IPv6)
password: '', // 密码
db: 0,
})
const test = async () => {
await redis.set('a', 124, 'EX', 30) // 缓存单位为秒
const a = await redis.get('a')
console.log(a)
}
mysql安装
安装
使用yum 安装 MySQL
yum install mysql-community-server
如果成功,表示不需要配置MySQL rpm 源信息,直接就安装完成了
如果出现错误,表示我们没有添加安装包的源信息,需要安装 MySQL rpm 源信息
下载安装源信息
wget http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
rpm 安装源信息
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
再次安装mysql
yum install mysql-community-server
命令如果正确执行,安装过程中,会提示让我们确认,一律输入 y 按回车即可
检查安装是否成功
rpm -qa | grep mysql
如果成功会显示下面信息
mysql-community-libs-compat-8.0.33-1.el7.x86\_64
mysql-community-icu-data-files-8.0.33-1.el7.x86\_64
mysql80-community-release-el7-7.noarch
mysql-community-common-8.0.33-1.el7.x86\_64
mysql-community-libs-8.0.33-1.el7.x86\_64
mysql-community-server-8.0.33-1.el7.x86\_64
mysql-community-client-8.0.33-1.el7.x86\_64
mysql-community-client-plugins-8.0.33-1.el7.x86\_64
检查mariaDB是否被覆盖
rpm -qa | grep mariadb
输出空,表示 mariaDB 已经被成功覆盖
登录修改密码
安装成功后会有个初始的默认密码,可以通过命令查看
grep 'temporary password' /var/log/mysqld.log
登录mysql
mysql -u root -p'xxxx'
修改mysql密码
ALTER USER USER() IDENTIFIED BY 'NewPassword'
开放root账户远程登录
# 登录
mysql -u root -p'密码'
# 1、进入数据库
use mysql
# 2、修改user表
update user set host='%' where user='root';
# 重载授权表
FLUSH PRIVILEGES;
# 退出
exit
# 重启
systemctl restart mysqld
开放云服务器端口
在云服务器安全策略里面配置3306端口信息
常用命令
# 启动
systemctl start mysqld
# 第一次启动后,可以查看mysql初始化密码
grep 'temporary password' /var/log/mysqld.log
# 重启
systemctl restart mysqld
# 停止
systemctl stop mysqld
\#查看状态
systemctl status mysqld
\#开机启动
systemctl enable mysqld
systemctl daemon-reload
# 查看进程、版本信息
ps -ef | grep mysql
或
netstat -atp
# 登录
mysql -u root -p'密码内容'
# 查看所有表
show databases;
# 进入数据库
use 表名
# 查看所有表
show tables
# 查看某张表信息
desc 表名
# 查
select \* from 表名
# 删
delete from 表名 where field=xx
# 改
update 表名 set field='xxx' where field='xxx';
git安装
命令安装
yum install git
设置账号密码
git config --global user.email xxx@qq.com // 邮箱
git config --global user.name xxxx // 密码
// 设置上面的命令后,可能还是需要输入账号密码,再执行一下下面的命令,再尝试
git config --global credential.helper store