全球首發(fā)!.Net Core+MySql Linux下跨平臺

? ? ? 作為一種全新的開源和跨平臺的開發(fā)平臺,.NET Core歷經(jīng)兩年多的開發(fā),終于在于2016年6月27日針對所有主流服務器和桌面操作系統(tǒng)發(fā)布了1.0 RTM 版本,新進項目采用了這個嶄新的框架,計劃將其部署在linux平臺下,于是展開了這幾天艱苦卓絕的嘗試,鑒于是linux小白(小白都不算,算白癡),其中艱辛不言而喻,好的是最終成功解決相關(guān)問題,分享下相關(guān)經(jīng)驗給大家(其實全球首發(fā)是吹牛的)。

一、虛擬機安裝

linux平臺采用centOS 7.1 x64,附官網(wǎng)下載鏈接

https://www.centos.org/

下載DVD ISO即可,下載完成后,使用VM虛擬機進行安裝,


選擇典型即可
選擇鏡像文件
選擇安裝路徑
其他各項默認即可
在硬件配置中,將默認的NAT模式改為橋連模式,此模式可將虛擬試做單獨主機,方便后期配置
根據(jù)默認步驟進行安裝


選擇中文,當然 你也可以選擇英文
安裝位置點擊后選擇默認即可,選擇完成后點擊軟件選擇
軟件選擇中選擇基礎(chǔ)設(shè)施服務器,并且勾選你覺得有用的附加項
完成后點擊開始安裝


安裝的過程中可修改root用戶密碼及創(chuàng)建新用戶,如果更改了密碼,請記住。

安裝完成后重啟進入系統(tǒng)

使用root賬號登入系統(tǒng),至此安裝完成,接下來進如正題,進行配置。

首先進行網(wǎng)絡連接配置,切換至網(wǎng)絡配置文件目錄

cd /etc/sysconfig/network-script/

[root@localhost network-scripts]# ls

ifcfg-eno16777736? ifdown-ppp? ? ? ifup-ib? ? ? ifup-Team

ifcfg-lo? ? ? ? ? ifdown-routes? ? ifup-ippp? ? ifup-TeamPort

ifdown? ? ? ? ? ? ifdown-sit? ? ? ifup-ipv6? ? ifup-tunnel

ifdown-bnep? ? ? ? ifdown-Team? ? ? ifup-isdn? ? ifup-wireless

ifdown-eth? ? ? ? ifdown-TeamPort? ifup-plip? ? init.ipv6-global

ifdown-ib? ? ? ? ? ifdown-tunnel? ? ifup-plusb? network-functions

ifdown-ippp? ? ? ? ifup? ? ? ? ? ? ifup-post? ? network-functions-ipv6

ifdown-ipv6? ? ? ? ifup-aliases? ? ifup-ppp

ifdown-isdn? ? ? ? ifup-bnep? ? ? ? ifup-routes

ifdown-post? ? ? ? ifup-eth? ? ? ? ifup-sit

此處ifcfg-eno16777736(有可能不一樣名字 ,一般格式為ifcfg-eno***)文件即為當前主機網(wǎng)絡配置文件,對其進行編輯

vim ifcfg-eno16777736

配置如下:

TYPE=Ethernet

BOOTPROTO=none//或static

NAME=eno16777736

NM_CONTROLLED=yes

UUID=5b057938-8a01-4e9f-89db-7620029f6fbb

DEVICE=eno16777736

ONBOOT=yes

DNS1=8.8.8.8//dns地址

HWADDR=00:0C:29:B6:80:B5

IPADDR=192.168.1.16//靜態(tài)IP地址

PREFIX=24

GATEWAY=192.168.1.1//網(wǎng)關(guān)

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=no

配置完成后Esc后:wq保存,然后重新啟動網(wǎng)絡服務

service network restart

之后測試網(wǎng)絡是否連通

ping www.baidu.com

好了 ?有返回,ctrl+C退出,網(wǎng)絡設(shè)置完成,此處遇到一個坑 在我多次設(shè)置網(wǎng)絡后發(fā)現(xiàn)因為vm沒有根據(jù)僑聯(lián)模式適配主機網(wǎng)卡,搞配置折騰了大半天,最后知道真相的我眼淚掉下來。。。。

為什么先配網(wǎng)絡呢 ? 對于沒有圖形化界面 感覺太頭大,配網(wǎng)絡主要為了裝圖形化界面,好 輸入指令警醒圖形化界面安裝

$sudo? yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

根據(jù)操作進行選擇確定,安裝完成后

顯示如上,再鍵入指令設(shè)置開機啟動圖像化界面

$sudo ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

reboot虛擬機,之后就可以開心的用圖形化了 最起碼復制粘貼方便了好多

二、.net core生產(chǎn)環(huán)境配置

進入圖形化界面之后就可以開始干正事了,有不需要圖形化界面的小伙伴可以省略上面的圖形化界面安裝,效果是一樣的、

用于生產(chǎn)環(huán)境、當然更追求性能最大化,參考多篇大神作品后覺得使用便攜的方式進行發(fā)布會更好,本文主要講解便攜式發(fā)布配置

微軟官網(wǎng)給出了便捷的支持與依賴,登錄官網(wǎng)(其實官網(wǎng)步驟很全這里好像沒什么好說的)

https://www.microsoft.com/net/core#centos

首先進行l(wèi)ibicu依賴安裝

sudo yum install libunwind libicu


已經(jīng)安裝完成

curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131(下載sdk壓縮包)

sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet(解壓縮)

sudo ln -s /opt/dotnet/dotnet /usr/local/bin(創(chuàng)建鏈接)

完成上面這三步后 鍵入

dotnet --info


安裝成功

上傳之前發(fā)布的.net core應用文件夾至/home/wwwroot/(此處可配置Ftp服務器進行上傳,網(wǎng)上教程很多,后續(xù)我會補上)


切換至你應用文件夾

cd /home/wwwroot/WebApp//你應用文件夾

之后鍵入已發(fā)布的應用Dll文件

鍵入(此處有一個坑,又是折騰好久,配置完成后直接使用dotnet接文件路徑,打開網(wǎng)站后什么都不顯示,多方查找后不知道原因,后來發(fā)現(xiàn)需要先cd進文件目錄,再dotnet文件名,網(wǎng)站正常運行,目前仍不知問題所在,有待后續(xù)解決?)

dotnet WebApplication1.dll

如果提示如上提示 證明運行成功但是下面還需要在配置Nginx容器

curl -o? nginx.rpmhttp://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

rpm -ivh nginx.rpm

yum install nginx

輸入:systemctl start nginx來啟動nginx。

輸入:systemctl enable nginx來設(shè)置nginx的開機啟動(linux宕機、重啟會自動運行nginx不需要連上去輸入命令)。

防火墻配置

命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(開放80端口)

命令:systemctl restart firewalld(重啟防火墻以使配置即時生效)

之后就可以正常訪問nginx了

接著配置nginx對ASP.NET Core應用的轉(zhuǎn)發(fā)

vim?/etc/nginx/conf.d/default.conf?//修改/etc/nginx/conf.d/default.conf文件。

詳細配置如下

server {

? ?listen 80;

? ?location / {

? ?proxy_passhttp://localhost:5000;

? ?proxy_http_version 1.1;

? ?proxy_set_header Upgrade $http_upgrade;

? ?proxy_set_header Connection keep-alive;

? ?proxy_set_header Host $host;

? ?proxy_cache_bypass $http_upgrade;

? }

}

執(zhí)行:nginx –s reload使其即時生效

然后執(zhí)行

yum install policycoreutils-python

sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx

sudo semodule -i mynginx.pp

三條指令,將nginx添加至SELinux的白名單

OK,接著dotnet發(fā)布文件


nice 發(fā)布完成

未完待續(xù)。。。今晚太困了,后續(xù)會接上應用守護服務、mysql數(shù)據(jù)庫安裝及配置、結(jié)合EF core框架的相關(guān)配置及應用發(fā)布、還有一大堆我記不起來。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Page 1:nginx 服務器安裝及配置文件詳解 CentOS 6.2 x86_64 安裝 nginx 1.1 ...
    xiaojianxu閱讀 8,683評論 1 41
  • 第一章 Nginx簡介 Nginx是什么 沒有聽過Nginx?那么一定聽過它的“同行”Apache吧!Ngi...
    JokerW閱讀 33,023評論 24 1,002
  • Nginx入門-在Linux上安裝Nginx 介紹 簡而言之,Nginx(發(fā)音為“engine x”)是一個小型、...
    呵呵噠1991閱讀 796評論 0 1
  • 2017年9月21日 第一天 定的六點二十的鬧鐘,被鈴聲吵醒,翻個身,繼續(xù)去睡,迷迷糊糊,腦子非常累。大概是十分鐘...
    青衣雨翼_shape閱讀 705評論 0 0
  • 日子一天天過的真快,轉(zhuǎn)眼又是周末,開學兩個學了,艾哲的變化還是有的,也許我只看她的缺點了,我每天都很焦慮,為她的馬...
    艾哲麻麻閱讀 125評論 0 0

友情鏈接更多精彩內(nèi)容