前言

  前阶段弄了个Linux系统想倒腾倒腾.NET Core,结果看了下网上的资料,大部分都是过期的,走了不少弯路,不过还好,今下午总算捣鼓出来了。Linux命令太多了,唉。血的教训:安装一定要看官网的流程。

开始

  首先,我们找到官网教程,安装.NET Core 环境。地址:https://www.microsoft.com/net/core#linuxcentos

  正如教程中所说,安装之前先删除以前的版本。我的删除方法就是手动删相应的文件夹。然后按照教程一步一步来就OK了。当然不排除你在实战过程中会遇到各种各样的麻烦,多搜,网上还是有方案的。

sudo yum install libunwind libicu
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843449
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin

  上述过程如果顺利走完的话,就是没啥问题了,环境就可以了。现在我们随便新建一个ASP.NET Core程序。也不用编写代码,打开相应的程序目录,我的如下:

  

  这里呢,虽然发布方法是一样的,但是我用的是git将代码克隆到服务器,然后进行发布的。

  首先,定位到相应目录:

  cd /root/project/LayIM.NETCoreClient/LayIM.NETCoreClient ---定位到web项目下

  然后restore

  dotnet restore

  然后publish

  dotnet publish

  发布成功之后,会生成bin/Debug/netcoreapp1.0/publish 文件夹,然后定位到该文件夹,执行:

  dotnet LayIM.NETCoreClient.dll --改成你的web项目dll

  执行完成之后如下:

  

  虽然,localhost可以访问了,但是在外网访问还是不可以的,我这里的原因是80,5000端口没有开放。开放即可。centos7中开放端口方式如下:

  firewall-cmd --zone=public --add-port=80/tcp --permanent

  firewall-cmd --zone=public --add-port=5000/tcp --permanent

  然后重启firewall

  最后,发现还是不能访问。(我也不知道为啥),所以我也没思考直接安装了ngnix。 

  sudo yum install nginx

  sudo service nginx start

  改一下配置文件,etc/nginx/nginx.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 -s reload

  见证奇迹的时候到啦。

  

总结

  成功是成功了,不过还是手动发布的。下一步打算看看jenkins,利用它配合github完成自动更新,打包发布的功能。就到这里吧。虽然写的不多,但是动手的过程中,真真是碰到了各种奇葩问题,还是自己对Linux不熟悉啊。不过成果出来,还是很高兴的。下班喽~~

  

  

最新文章

  1. 王宝强新片P2P风波持续发酵,互金真的前途未卜?
  2. kindeditor在光标处插入编辑器外的数据
  3. C# 常用加密方式
  4. mysql 查询表结构 查询索引
  5. Revit API 楼板开洞
  6. Javascript基础系列之(六)循环语句(do while循环)
  7. LeetCode Lowest Common Ancestor of a Binary Tree
  8. 【Pro ASP.NET MVC 3 Framework】.学习笔记.1.主要语言特性
  9. XCode 7.1 安装 Alcatraz包管理器失败的处理
  10. GUI编程笔记(java)06:GUI窗体添加按钮并对按钮添加事件案例
  11. WCF服务对象实例化基础
  12. Android 手势锁的实现 为了让自己的应用程序的安全,现在
  13. [POJ 3581]Sequence
  14. 节流throttle和防抖debounce
  15. css 模拟radio的样式
  16. 陪你解读Spring Batch(一)Spring Batch介绍
  17. GenerationType四中类型
  18. python5 数字类型 字符串类型 列表类型
  19. JAVA高级-面试题总结
  20. Play中JSON序列化

热门文章

  1. master.sys.sysprocesses相关内容
  2. MAC OS===>IntelliJ IDEA__ant__zookeeper源码编译
  3. IntelliJ IDEA常用配置
  4. mysql三表联合查询
  5. cocos-creator 脚本逻辑-1
  6. Navicat工具、pymysql模块
  7. 合并excel的多个sheet
  8. JavaScript总结摘要
  9. 最长公共子序列(LCS)思维导图
  10. Android 文件的可读可写