博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
带你快速进入.net core的世界(转)
阅读量:5840 次
发布时间:2019-06-18

本文共 5563 字,大约阅读时间需要 18 分钟。

出处:http://www.cnblogs.com/zhaopei/p/netcore.html

阅读目录

【申明】:本人.NET Core小白、Linux小白、MySql小白、nginx小白。而今天要说是让你精通Linux ... 的开机与关机、nginx安装与部署、Core的Hello World ...等。

首先,入门文章园子里面已经很多了。这里再做个整理和备忘。您也可以根据目录挑着看。(亲测多次可行,以下多图预警!)

vmware虚拟机安装

vmware哪里下载?360软件管家就可以下载。然后网上找个序列号。

我这里安装的是12.1.1
安装很简单一直下一步就好了。

CentOS7.3安装

下载CentOS 我们可以选择163或阿里云的节点,速度会快点。

下载完成后打开vmware准备安装
菜鸟可以选择有界面的
选好后然后开始安装,然后设置密码,然后重启就好了。

Windows的客户端软件

下载安装Xshell

下载安装WinSCP (你也可以使用Xftp,记得选sftp,不然需要服务器支持ftp)
进入CentOS,右键
开始第一个命令。查看IP

ifconfig -a

接下来,可以全部由Xshell操作。
打开Xshell
然后输入用户名密码登录。(使用root登录)

.NET Core1.1安装

根据微软资料

在命令行执行:

sudo yum install libunwind libicu  #(安装libicu依赖)curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=848821 #(下载sdk压缩包) 根据网速,可能快可能慢sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet #(解压缩) sudo ln -s /opt/dotnet/dotnet /usr/local/bin #(创建链接)
dotnet new console -o hwapp   # 我们初始化一个示例Hello World应用程序 (这里稍微耗时点)cd hwapp
dotnet restoredotnet run   #运行应用程序

看到打印的hello world证明 .net core的环境已经装好了。

【小白技巧】

  • "#"是注释
  • shirf + insert 粘贴 (不能ctrl + c v 有点不习惯)
  • ctrl + insert 复制

nginx1.12.1安装

curl -o  nginx.rpm http://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 #启动nginxsystemctl enable nginx #设置nginx的开机启动

然后登录 CentOs系统 打开浏览器 输入 :192.168.233.129 (之前查到的IP)

看到这个页面就代表安装成功了。

配置防火墙

如果你在物理机的浏览器访问,你会发现访问不了。

那是因为CentOs的防火墙拦截了,我们打开端口。

firewall-cmd --zone=public --add-port=80/tcp --permanent #(开放80端口)systemctl restart firewalld #(重启防火墙以使配置即时生效)

然后访问成功。

部署ASP.NET Core应用程序

打开VS2017 新建一个.net core 项目

右键发布(发布之前最好先在本地跑下看正常不)
然后打开我们的WinSCP(前面下载的)
点击登录,然后就可以看到CentOs系统的文件目录了。然后随便建个文件夹,准备放我们发布发好的程序。
右键上传
然后命令运行

cd /home/NetCoreDemo #这个目录 要输入你自己对应放的目录dotnet netcoreDemo.dll # netcoreDemo.dll 这个对应你建的项目生成的dll

看到了5000 端口的一个网址,证明部署好了。
然后在虚拟机里面访问 ,ok。

nginx 配置

前面我们只说了nginx,并没有说是干嘛的。nginx的作用有点先iis,是个web服务器。做转发。

我们发现http://localhost:5000 可以访问。但是通过ip却不能访问。那么我们现在就可以通过80访问nginx,然后nginx再帮我们访问5000。
打开路径 /etc/nginx/conf.d
编辑default.conf 文件内容替换为

server {    listen 80;    location / {        proxy_pass http://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; } }

将nginx添加至SELinux的白名单,否则会报502错误。

nginx -s reload #使其即时生效【注意】然后这里访问下 http://192.168.233.130/ (对应你自己的centos ip,这一步好重要。应该是要先主动触发这个502错误吧。)yum install policycoreutils-python  #(选y)cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx semodule -i mynginx.pp

然后我们就可以在物理机上通过ip访问了(不用带端口了,直接80 然后 nginx 转到了5000)。

配置守护服务(Supervisor)

yum install python-setuptoolseasy_install supervisor  #安装Supervisormkdir /etc/supervisorecho_supervisord_conf > /etc/supervisor/supervisord.conf  #配置Supervisor

文件的最后

;[include];files = relative/directory/*.ini

改成(【注意】去掉;且不能有空格)

[include]files = conf.d/*.conf

进入目录 /etc/supervisor/ 新建 conf.d文件夹,conf.d文件夹下新建 netcoreDemo.conf文件

内容(【注意】看 第二行 第三行的 注释,根据实际名字填入

[program:netcoreDemo]command=dotnet netcoreDemo.dll ; (注意)运行程序的命令directory= /home/NetCoreDemo/ ; (注意)命令执行的目录autorestart=true ; 程序意外退出是否自动重启 stderr_logfile=/var/log/WebApplication1.err.log ; 错误日志文件 stdout_logfile=/var/log/WebApplication1.out.log ; 输出日志文件 environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量 user=root ; 进程执行的用户身份 stopsignal=INT
supervisord -c /etc/supervisor/supervisord.confps -ef | grep netcoreDemo  #【注意】netcoreDemo是上面 program:netcoreDemo 的命名 supervisorctl reload  #重新加载

然后就好了,现在关掉那个5000界面也可以访问。

配置Supervisor开机启动

打开目录 /usr/lib/systemd/system/ 新建文件 supervisord.service

内容:

# dservice for systemd (CentOS 7.0+)# by ET-CS (https://github.com/ET-CS)[Unit]Description=Supervisor daemon [Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf ExecStop=/usr/bin/supervisorctl shutdown ExecReload=/usr/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target

执行命令:

systemctl enable supervisord  systemctl is-enabled supervisord #来验证是否为开机启动

到此,完工。现在重新电脑什么都不用管,直接可以访问部署好的网站。

MySql5.6.37安装

(我用的方法二)

安装rar压缩

下载

把文件放服务器上。然后cd到这个目录执行

tar -zxvf rarlinux-x64-5.4.0.tar.gz # rarlinux-x64-5.4.0.tar.gz是你下载的文件名 cd rar make rar #安装

安装好了后我们就可以打命令解压文件了

cd #跳到压缩文件目录rar x ceshi.rar #解压到当前文件夹 ceshi.rar是压缩文件名 rar a abc.rar ceshi #压缩文件夹 到 abc.rar

在CentOS中安装完rar命令,会自动安装zip命令

cd /home #进入/home目录zip -r mydata.zip mydata      #把/home目录下面的mydata目录压缩为mydata.zipunzip mydata.zip -d mydatabak #把/home目录下面的mydata.zip解压到mydatabak目录里面 zip -r abc123.zip abc 123.txt #把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip unzip wwwroot.zip #把/home目录下面的wwwroot.zip直接解压到/home目录里面 unzip abc\*.zip #把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面 unzip -v wwwroot.zip #查看把/home目录下面的wwwroot.zip里面的内容 unzip -t wwwroot.zip #验证/home目录下面的wwwroot.zip是否完整 unzip -j wwwroot.zip #把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录

常用linux命令

cd                 #目录跳转cd /               #回到上一个目录ls                 #查看目录下的文件 df -h #查看文件使用情况 mkdir #创建文件夹文件夹 vi # 编辑文件 :wq! #强制保存文件,并退出vi ifconfig -a #查看ip free #查看系统资源使用情况 http://blog.csdn.net/zhongluhuaok/article/details/52804187 firewall-cmd --zone=public --add-port=80/tcp --permanent #开放80端口,也可以是其他端口 firewall-cmd --zone=public --remove-port=80/tcp --permanent # 关闭端口 systemctl restart firewalld #重启防火墙,使其生效 service mysqld restart #重启mysql nginx -s reload # nginx 生效 supervisorctl reload # Supervisor生效 reboot # 重启系统 shift + insert #粘贴 shift + insert #复制

 

结束

这几天给我的感受就是,CentOS带我进入了一个更开阔的世界!!!开启我们的.net core吧,你会觉得很好玩的。
打算重写Hi-Blogs系统
访问地址: (刚入手做了一个留言板、聊天室快去体验下吧。.net core 跑在阿里云linux上的。)
开源地址:

 

参考

你可能感兴趣的文章
[JavaScript] JavaScript作用域深度解析
查看>>
boost Asio网络编程简介
查看>>
node-webkit-updater——NW.js自动更新
查看>>
maven 加入json-lib.jar 报错 Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile
查看>>
Java多线程入门Ⅱ
查看>>
JSONObject、JSONArray
查看>>
【枚举】Codeforces Round #394 (Div. 2) C. Dasha and Password
查看>>
phpstorm配置phpunit (thinkphp 框架)
查看>>
opencv 操作本地摄像头实现录像
查看>>
【BZOJ】1741: [Usaco2005 nov]Asteroids 穿越小行星群
查看>>
JVM与GC
查看>>
easyUI的控件
查看>>
2018省赛赛第一次训练题解和ac代码
查看>>
The 18th Zhejiang University Programming Contest Sponsored by TuSimple
查看>>
用smarty来做简易留言系统,明细步骤简单操作
查看>>
Shiro~
查看>>
iframe中访问父页面的元素
查看>>
Spring系统学习:Spring整合Junit提示不出来问题
查看>>
VLSM和CIDR
查看>>
U3D开发中提升流畅度的几个方法
查看>>