CentOS 下部署 MongoDB 与 .Net Core

使用SecureCRT 8.5工具登录服务器

1:打开SecureCRT 8.5,点击【Session Manager】下面工具栏的【+】按钮

2:点击【下一步】

3:输入【Hostname】与【Username】,然后点击【下一步】

4:输入服务器别名,点击【完成】

5:开始登录服务器

登录成功之后出现以下界面:

6:修改root账号登录密码(可选操作),切记输入的密码是看不见的

输入以下代码,然后回车:

passwd 

在出现的New password:后面输入新的密码

再次输入密码后,提示修改成功

7:按 Alt+P 打开sftp传输界面

8:输入pur指令加文件路径
put C:\Users\yang_jiangjun\Downloads\mongodb-linux-x86_64-amazon-4.2.1.tgz 


传输完成出现以下信息:

9:再返回crt界面,输入ls指令查看一下是否上传成功
ls


10:解压MongoDB
tar zxvf mongodb-linux-x86_64-amazon-4.2.1.tgz


查看解压是否成功:

11:创建数据库文件夹、日志文件夹
mkdir -p /usr/local/server/mongodb/dbs
mkdir -p /usr/local/server/mongodb/log

12:把MongoDB文件复制到刚刚创建的目录中
mv mongodb-linux-x86_64-amazon-4.2.1/* /usr/local/server/mongodb/


13:创建MongoDB 启动配置文件
touch  /usr/local/server/mongodb/bin/mongodb.conf
14:编写MongoDB配置文件

打开 mongodb.conf 配置文件:vi mongodb.conf

回车之后会进入编辑页面,先按一下 i,进入编辑模式,输入完毕后,按 ESC,输入 :wq 回车即可。如果发现不管怎么搞都退不出,也不用怕,强退用 :q!

输入以下代码:

dbpath=/usr/local/server/mongodb/dbs
logpath=/usr/local/server/mongodb/log/logs
port=27017
fork=true
bind_ip=0.0.0.0
logappend=true


保存后退出:按 ESC,输入 :wq 回车即可

15:配置全局环境变量,在任意地方可以使用mongod命令
vim /etc/profile

添加以下代码:

export MONGODB_HOME=/usr/local/server/mongodb
export PATH=$PATH:$MONGODB_HOME/bin


保存后退出:按 ESC,输入 :wq 回车即可

使配置生效输入以下代码:

source /etc/profile
16: 启动MongoDB测试
./mongod -f mongodb.conf

查看进程:

pstree -p | grep mongod

结束进程:

pkill mongod
17:创建MongoDB自动启动服务

先切换目录:

cd /lib/systemd/system

创建一个服务文件:

vi mongodb.service

按下键盘上的 i 建输入以下代码:

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/server/mongodb/bin/mongod --config /usr/local/server/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/server/mongodb/bin/mongod --shutdown --config /usr/local/server/mongodb/bin/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

配置文件详解:

[Unit]
Description : 服务的简单描述
Documentation : 服务文档
After= : 依赖,仅当依赖的服务启动之后再启动自定义的服务单元

[Service]
Type : 启动类型simple、forking、oneshot、notify、dbus

Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。
Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。
Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes 使得 systemd 在服务进程退出之后仍然认为服务处于激活状态。
Type=notify:与 Type=simple 相同,但约定服务会在就绪后向 systemd 发送一个信号。这一通知的实现由 libsystemd-daemon.so 提供。 Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。

PIDFile : pid文件路径
ExecStartPre :启动前要做什么,上文中是测试配置文件 -t
ExecStart:启动
ExecReload:重载
ExecStop:停止
PrivateTmp:True表示给服务分配独立的临时空间

[Install]
WantedBy:服务安装的用户模式,从字面上看,就是想要使用这个服务的有是谁?上文中使用的是:multi-user.target ,就是指想要使用这个服务的目录是多用户。「以上全是个人理解,瞎猜的,如有不当,请大家多多指教」每一个.target实际上是链接到我们单位文件的集合,当我们执行:

保存后退出:按 ESC,输入 :wq 回车即可

启动服务:systemctl start mongodb.service

停止服务:systemctl stop mongodb.service

开机启动 :systemctl enable mongodb.service

18:开放Centos的MongoDB端口
firewall-cmd --zone=public --add-port=27017/tcp --permanent   # 开放27017端口

firewall-cmd --zone=public --remove-port=27017/tcp --permanent  #关闭27017端口

firewall-cmd --reload   # 配置立即生效

查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

查看监听的端口

netstat –lnpt
19:给CentOS换源

方法一,执行以下命令使用阿里源:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

方法二,执行以下命令使用163源:

163源的下载地址(CentOS7专用源):

http://mirrors.163.com/.help/CentOS7-Base-163.repo

打开源配置文件

vi /etc/yum.repos.d/CentOS-Base.repo

先按下 i ,然后把打开的文件内的代码全部删除,然后把以下代码复制进去

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

保存后退出:按 ESC,输入 :wq 回车即可

20:修改系统DNS配置

打开DNS配置文件

vi /etc/resolv.conf

先按下键盘的 i 键,输入以下代码

nameserver 114.114.114.114
nameserver 8.8.8.8

保存后退出:按 ESC,输入 :wq 回车即可

把服务器的包下载到本地缓存起来

yum makecache

更新yum:

yum update
21:安装.Net Core

安装libunwind libicu

yum install libunwind libicu

在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项。每台机器只需执行一次

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

安装.Net Core 3.0
sudo yum install dotnet-sdk-3.0

安装完成后,打开一个新终端并分别运行以下命令

dotnet
dotnet --info

如果该命令运行,则打印出有关如何使用dotnet的信息,就代表安装成功了

22:运行.Net Core WebApi

发布.Net Core程序的时候建议使用以下发布配置方式:

Alt+P 打开sftp传输界面,上传.Net Core 程序到服务器(文件会默认上传到登录系统的账号名下,我这边使用的是root账号登录的系统,所以上传后的文件就在 /root/ 目录下)

put d:/PoJun.WebApi.zip

解压代码文件

unzip  PoJun.WebApi.zip

解压后打开 PoJun.WebApi 文件夹

cd PoJun.WebApi

运行.Net Core程序

dotnet PoJun.WebApi.dll

运行成功的话会提示以下信息

关闭.Net Core程序

ctrl + c

23:把.Net Core WebApi设置为随系统自动启动

先切换到该目录:cd /lib/systemd/system

创建服务文件:vi pojun-webapi.service

编写pojun-webapi服务,先按下键盘的 i 键,把以下代码复制到文件中

[Unit]
Description=pojun-webapi #服务名称
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/share/dotnet/dotnet /root/PoJun.WebApi/PoJun.WebApi.dll
ExecReload=/bin/kill-s HUP $MAINPID
ExecStop=/usr/share/dotnet/dotnet /root/PoJun.WebApi/PoJun.WebApi.dll
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存后退出:按 ESC,输入 :wq 回车即可

启动服务:systemctl start pojun-webapi.service

停止服务:systemctl stop pojun-webapi.service

开机启动 :systemctl enable pojun-webapi.service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值