Linux Centos 7 下部署 .NetCore + MySql + Redis + mssql2007 部署過程

1.  net core 安裝及運行配置html

  • 安裝 

1)rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpmmysql

2)yum update(一直Y下去)( 沒最新版本操做)linux

3)yum install dotnet-sdk-2.2redis

  • .netcore 後臺服務運行以及開機啓動

1) vim /etc/systemd/system/rightsManage.service , 建立服務內容以下:sql

[Unit]
Description=權限管理服務vim

#該服務在何時啓動,此處表示 系統日誌以後
After=syslog.targetbash

[Service]
ExecStart=/usr/bin/dotnet /zhangcun/rightsManage/ZhCun.RightsManage.dll服務器

WorkingDirectory=/zhangcun/rightsManage/   # 運行的程序目錄網絡

Restart=alwayscurl

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,請移步這裏: http://www.javashuo.com/article/p-sffabqgg-md.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 過時事件配置

相關文章
相關標籤/搜索