zoukankan      html  css  js  c++  java
  • 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 过期事件配置

  • 相关阅读:
    EasyUi TreeGrid封装
    Ionic项目中使用极光推送
    Win7搭建NodeJs开发环境
    NET 平台下的插件化开发内核
    访问数据库时如何解决并发问题
    async & await 的前世今生
    Linux环境编程相关的文章
    C# 5.0 Async函数的提示和技巧
    python算法题
    如何从数组中随机取出多个不重复的项
  • 原文地址:https://www.cnblogs.com/xtdhb/p/CoreSetup.html
Copyright © 2011-2022 走看看