Linux Centos 7 下部署 .NetCore + MySql + Redis + mssql2007 部署过程
1. net core 安装及运行配置
- 安装
1)rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
2)yum update(一直Y下去)( 没最新版本操作)
3)yum install dotnet-sdk-2.2
- .netcore 后台服务运行以及开机启动
1) vim /etc/systemd/system/rightsManage.service , 创建服务内容如下:
[Unit]
Description=权限管理服务
#该服务在什么时候启动,此处表示 系统日志之后
After=syslog.target
[Service]
ExecStart=/usr/bin/dotnet /zhangcun/rightsManage/ZhCun.RightsManage.dll
WorkingDirectory=/zhangcun/rightsManage/ # 运行的程序目录
Restart=always
SyslogIdentifier=dotnet core console
#Type 可选多种模式
Type=simple
[Install]
WantedBy=multi-user.target
2) 配置开机启动、重载、开始、停止、及状态
激活该service(设置开机自启动,disable 为关闭) : systemctl enable rightsManage.service
systemctl daemon-reload (修改完文件后需操作)
systemctl start rightsManage --开启服务
systemctl status rightsManage -- 查看状态
systemctl stop rightsManage.service -- 停止服务
2. mysql 安装及配置
下载: wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装: rpm -ivh mysql-community-release-el7-5.noarch.rpm
修改密码:
# mysql -u root -p 使用密码进入
# mysql> use mysql;
mysql> update user set password=password('new password') where user='root'; 修改密码
mysql> flush privileges; --刷新生效
启动: service mysqld start 、停止:service mysqld stop 、重启:service mysqld restart
创建mysql远程访问用户
# mysql -p
mysql > GRANT ALL PRIVILEGES ON *.* TO '$username'@'%' IDENTIFIED BY '$password' WITH GRANT OPTION;
mysql > flush privileges;
修改mysql 默认端口:
打开配置文件 vim /etc/my.cnf ,修改内容如下:
[mysqld]
port = 3306 #修改为你想要改的端口
重启mysql service mysql restart
3.防火墙配置
- systemctl status firewalld 防火墙状态
- systemctl start firewalld 开启防火墙
- systemctl stop firewalld 关闭防火墙
- systemctl reload firewalld 重载,增加完端口之后需操作
- firewall-cmd --list-ports 防火墙开放列表
- firewall-cmd --zone=public --add-port=80/tcp --permanent 开端口命令
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
4. redis 部署及配置
Redis 安装 参考官网:http://www.redis.cn/download.html
下载最新版本:
1)wget http://download.redis.io/releases/redis-5.0.4.tar.gz
2)tar xzf redis-5.0.4.tar.gz
3)cd redis-5.0.4
5)make
6)更改默认端口、密码、绑定地址
vim redis.conf
port 6379 更改监听端口
requirepass foobared 将注释# 去掉,foobared 为密码
bind 127.0.0.1 改为 0.0.0.0 (任意ip)用于网络内访问
daemonize yes yes改为 后台运行
关于 redies 事件通知的说明,参考:https://redis.io/topics/notifications
notify-keyspace-events "" 默认空字符串为禁用空通知,关于Key过期通知可改为: notify-keyspace-events KEx (使用K或E 都可以实现,x过期)
# K Keyspace events, published with __keyspace@<db>__ prefix.
示例:PUBLISH __keyspace@0__:mykey expired 对 mykey 的过期事件订阅,对指定键的所有事件订阅为: __keyspace@0__:mykey* 订阅的消息(message)将返回 事件
# E Keyevent events, published with __keyevent@<db>__ prefix.
示例:PUBLISH __keyevent@0__:expired mykey
对 expired 事件进行订阅key为mykey(这两个例子结果是一样的),如果对指定事件的所有key进行订阅,则为:__keyevent@0__:*,订阅的消息(message)将返回 key
# x Expired events (events generated every time a key expires) 过期时间事件
# 其他启用事件可查看文档或配置文件说明
程序中订阅可通过 __key*__:* 来测试,这样表示所有事件的所有key,但需要在channel 判断事件类型,根据事件类型获取
6)src/redis-server redis.conf 运行(在解压后的目录下运行) ,临时测试使用 ctrl + z , jobs , bg 等命令 进入后台
7)测试 redis-cli -h 地址 -p 端口 -a 密码
或者登录后验证密码 auth 密码
8)增加服务,开机启动,参考上面的.net core 程序
关于服务配置文件:
[Service]
ExecStart=/redis所在目录/redis-5.0.4/src/redis-server /redis所在目录/redis-5.0.4/redis.conf --daemonize no
ExecStop=/redis所在目录redis所在目录/redis-5.0.4/src/redis-cli -p 6379 -a 【密码】 shutdown
5. 安装mssql2017
参考官网: https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-linux-2017
官网介绍很详细
1)curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo (大小约181M)
2)yum install -y mssql-server
3)/opt/mssql/bin/mssql-conf setup 安装 ,我这里选择的 3 Express (免费),如果服务器配置够好,可以选择 2 Developer (免费,无生产许可)
如果服务器内存不足2G,请移步这里: https://www.cnblogs.com/xtdhb/p/11357702.html
4)安装之后密码莫名其妙不对,重新执行 3) 重新配置即可;
使用 backup database 备份数据,需要给文件夹权限:chown -R mssql:mssql /usr/local/databackup/
5. netcore 程序部署及常用问题
- 有图片相关操作(图片验证码等),报错:Unable to load shared library 'gdiplus' or one of its dependencies.
解决: yum install libgdiplus-devel
如果提示“没有可用的包”,否则忽略下面
1)下载 epel-release-7-11.noarch.rpm , wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
2)rpm -Uvh epel-release*rpm
3)yum install libgdiplus
- 设置linux为控制台中文
1)vim ~/.bashrc 最后加上如下内容:
#language
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN.UTF-8
2)source ~/.bashrc
3)locale 查看
备注:中文乱码,检查安装中文包,检查远程工具(会话-终端-外观-字符编码)
- 当部署完.net core 程序后,临时后台运行方法,ctrl + z 挂起后的后台与前台运行方法
运行程序,如: dotnet xxx.dll 后 ,快捷键 ctrl + z 挂起,程序进入挂起状态(暂停未运行)
1)jobs 显示当前暂停的进程
2)bg %N 使第N个任务在后台运行
3)fg %N 使第N个任务在前台运行
其它:默认bg,fg不带%N时表示对最后一个进程操作
2019.7.30 首次记录
2019.7.31 redis 部署、后台进程切换相关
2019.8.2 redis 过期事件配置
Linux Centos 7 下部署 .NetCore + MySql + Redis + mssql2007 部署过程的更多相关文章
- linux CentOS 安装 nginx+tomcat+java+mysql运行环境
本文介绍了CentOS7 64 Java,Tomcat,MySQL,Maven热部署等服务器环境的搭建过程. 服务器: 已经将所需要的工具(Xshell,Xftp.FileZilla等sftp上传工具 ...
- Linux/centos/redhat下各种压缩解压缩方式详解
1.zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip -o -d ...
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...
- 在云服务器 ECS Linux CentOS 7 下重启服务不再通过 service 操作,而是通过 systemctl 操作
在云服务器 ECS Linux CentOS 7 下重启服务不再通过 service 操作,而是通过 systemctl 操作. 操作说明如下: 1. 查看 sshd 服务是否启动: 看到上述信息就 ...
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...
- Linux之VMWare下Centos7的三种网络配置过程
Linux之VMWare下Centos7的三种网络配置过程 环境: 虚拟软件:VMWare 14.0 客户机:windows 10 虚拟机:centos 7 VMware三种网络连接方式 Bridge ...
- Linux的VMWare下Centos7的三种网络配置过程(网络二)
Linux之VMWare下Centos7的三种网络配置过程 环境:虚拟软件:VMWare 14.0客户机:windows 10虚拟机:centos 7 VMware三种网络连接方式 Bridge(桥接 ...
- Linux下安装python,mysql,redis
linux 安装Python3 1.python下载 请在终端输入如下命令: cd /home wget http://cdn.npm.taobao.org/dist/python/3.6.5/Pyt ...
- linux CentOS 系统下如何将php和mysql命令加入到环境变量中
在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时, ...
随机推荐
- ElasticSearch(java) 创建索引
搜索]ElasticSearch Java Api(一) -创建索引 标签: elasticsearchapijavaes 2016-06-19 23:25 33925人阅读 评论(30) 收藏 举报 ...
- threeJS射线拾取机制及案例
前言 在浏览器中浏览三维图形的时候,有时想要与三维图形之间做一些点击事件和交互操作,其中比较常用的一个解决方案就是使用Raycaster对象来实现(射线拾取). 基础知识 世界坐标系:webGL中,世 ...
- STM32 NVIC中断优先级分组说明
STM32F103系列上面,又只有60个可屏蔽中断(在107系列才有68个) 中断管理方法 首先,对STM32中断进行分组,组0~4.同时,对每个中断设置一个抢占优先级和一个响应优先级值. 分组配置是 ...
- 【Linux】端口反查进程
平时时常遇到端口占用的情况,又不知道端口是哪个服务启的. 本文以80端口为例. [root@localhost jenkins]# netstat -tunlp | grep 80 tcp6 0 0 ...
- 2019 牛客暑期多校 第八场 A All-one Matrices (单调栈+前缀和)
题目:https://ac.nowcoder.com/acm/contest/888/A 题意:找全1矩阵的个数,并且这个全1矩阵不被其他全1矩阵包含 思路:这里引用付队说的话 -> { 这类问 ...
- 新建工程spring boot
新建工程spring boot 使用Maven管理, 在官网(http://atart.spring.io)下载demo后,加入依赖 <dependency> <gr ...
- js中的$符
js中的$代表什么意思呢? 首先js的作用是什么呢?是修饰网页动态内容的.那么修饰就需要定位主题,比如你把html比喻一个美女,让她唱一首歌.那么首先你要定位出是你想让哪个美女唱歌,通常我们用id来定 ...
- 【SpringBoot】 理解SpringBoot的启动原理
前言 前文已经介绍了Spring Bean的生命周期,那么使用过程中发现SpringBoot 的启动非常快捷,本文将介绍SpringBoot的内部启动原理. 启动过程 如上图所示,我们先分析下Spri ...
- 小白学 Python 爬虫(26):为啥上海二手房你都买不起
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- Zlib not installed
若提示:zlib not installed wget http://zlib.net/zlib-1.2.8.tar.gz tar zxf zlib-1.2.8.tar.gz cd zlib- ...