VMware12+Centos7+Nginx+Asp.net Core

目录

1.CentOS7安装以及环境配置

2.安装.net core环境

3.安装Nginx

初次接触Linux和Nginix,折腾了一天才把Asp.net Core配置好,下面就来说说我在其中遇到的问题以及解决办法.

一.CentOS7安装以及环境配置

  1.CenOS7

  安装我使用的是最下化安装,没有图形界面,注意:网络和主机名这里一定要选择开启,否则安装完成后无法上网,需要自己手动开启(ps:我没有成功,最后重新安装的)

  

       

 

设置完root密码并且新建用户后(也可以不新建用户),等待安装完成就可以了

2.环境配置

进入root用户,更换默认的yum为网易yum,首先使用 下面的命安装wget:

yum install wget

 

接着使用下面的命令备份默认的yum:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

 

然后使用下面三条命令cd,wget,mv下载对应版本repo文件, 放入/etc/yum.repos.d/:

 

  

cd /etc/yum.repos.d/ 
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo CentOS-Base.repo 

 

 

运行以下命令生成缓存:

 

yum clean all
yum makecache

 

 

 

二.安装.net core环境

1、添加dotnet产品Feed

在安装.NET Core之前,您需要注册Microsoft产品Feed。这只需要做一次。首先,注册Microsoft签名密钥,然后添加Microsoft产品Feed

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

2、安装.NET Core SDK

sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.0.0

之后运行命令

dotnet --info

可以查看安装是否成功。至此,.Net Core的安装就完成了。(以上部分来自:https://blog.csdn.net/qq3401247010/article/details/78148282)

3.使用FTP工具上传.net core(我使用的是FileZilla)

  3.1首先配置静态IP,转到network-scipts目录下
 
 cd /etc/sysconfig/network-scripts

输入ll,查看不是ifcfg-loifcfg-XXX文件,这个ifcfg-xxx文件就是我们要配置的文件

VMware中,我使用额是NAT模式

NAT模式中的网关,掩码

使用vi ifcfg-xxx进入对应的文件(ps:如果里面的内容为空,有可能是你在安装的时候网络和主机名这个选项没有开启,我在这里浪费了半天,重装即可)进行修改(参考网址:https://www.cnblogs.com/hongdada/p/6666932.html)

BOOTPROTO=static #静态IP
IPADDR=192.168.153.112 #本机地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.153.2 #默认网关

使用 :wq! 保存退出

修改/etc/sysconfig/network

# Created by anaconda
NETWORKING=yes
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=182.254.116.116

 

然后重启服务即可

service network restart
3.2 静态IP配置完毕后,为了简单,我们直接把默认的防火墙关闭,不然FileZilla无法连接CentOS,使用下面命令禁用默认防火墙,其他指令可参考:https://www.cnblogs.com/moxiaoan/p/5683743.html
systemctl disable firewalld.service

禁用之后打开FileZilla的站点管理,按照以下配置,填好之后点连接就可以了

接着在netcore下新建一个目录www

接着打开VS,新建一个Asp.net Core项目,找到Program.cs,修改一下,监听8000端口,可参考网址:https://www.jianshu.com/p/b599823a346d

直接发布,然后在windows下打开命令行,使用cd命令到项目目录下,使用dotnet测试项目能否正常运行,出现下面则表示一切正常

然后把发布出来的内容上传到www目录下,同样使用cd 到项目根目录(test是我随意起的名称),运行dotnet tesCore.dll(testCore是项目名称,同样是随意起的)

 

 

我这里报错,说找不到Anifogery 2.0.2的版本,路径lib/netstandard2.0/XXX.XX.XX.dll,到了这一步又是折腾半天,使用yum install dotnet-sdk-2.x.x装了好几个sdk没有解决问题(懵逼,我为什么要装它= =!)

我们在windows命令行中运行 dotnet --info 查看正常运行都是什么版本

一个是Product Infomation 2.1.104 一个是Microsoft .NET Core Shared Framework Host 2.0.6 ,接下来看CentOS7中的版本,发现两个都是2.0.0

我首先是执行 sudo yum install dotnet-sdk-2.1.3 按照网上所说更新sdk,更新完成后,版本如下

Product变成2.1.3 下面的Host也稍微上去了几个版本,可是离正常运行的版本还差两个,继续百度,然并软,最后根据根据第一步添加dotnet feed中的URL找到灵感
https://packages.microsoft.com/yumrepos/
进入这个URL,发现一大堆东西

然后点开熟悉的7.3-prod,又是一大堆,完全不知道该选哪个,蒙一个,选了一个hosting2.0.6

在CenOS7中输入:

sudo yum install dotnet-hosting-2.0.6

接着执行dotnet --info 发现2.0.4变成了2.0.6

这是不是可以了呢,运行dotnet test.dll,成功!激动!

接下来就是nginx安装,这个相对简单

三.安装Nginx

参考:https://www.jianshu.com/p/b599823a346d

1.安装(来自:https://www.cnblogs.com/Liang-jc/p/8137956.html)

通过rpm 添加yum源

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

接着使用

yum -y install nginx

便可以解决依赖关系安装nginx

接着由于nginx安装完后不自动打开

我们需要开启nginx同时以开机自动运行

systemctl start nginx.service
systemctl enable nginx.service

访问url,显示下面内容,Nginx设置成功

 

2.接下来配置代理

  创建一个文件夹,用来放置站点配置文件

mkdir /etc/nginx/hosts

执行 cd /etc/nginx/hosts   进入目录, 执行: vi ossoffical   按 “i” 添加如下内容:

  

server {

listen 80; #要想使用80端口,还需要在修改一下其他配置,下面会说明

index index.html index.htm;

server_name www.osscoder.com; #域名,这里随便写,因为我们不连外网,使用静态IP访问我的网站

location / {

proxy_pass http://127.0.0.1:8000; # 刚才设置的地址端口

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;

}

作者:昔日少年已成叔KK
链接:https://www.jianshu.com/p/b599823a346d
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

:wq!退出保存。

修改nginx配置文件,vi /etc/nginx/nginx.conf

在http节点末尾,添加 :include /etc/nginx/hosts/*;

重启nginx服务器: sudo service nginx restart(reload)

如果还是显示Nginx的欢迎页面,则需要把其他端口为80的server修改成其他端口,默认的80端口server在/etc/nginx/conf.d/default.conf或/etc/nginx/nginx.conf中
修改完毕后,重启nginx服务器: sudo service nginx restart(reload),显示502页面
启动我们的AspNet Core项目,输入我们的静态IP地址访问页面,依旧报502错误,此时 输入 cat /var/log/nginx/error.log 查看发现报Permission denied错误,关闭selinux
setsebool -P httpd_can_network_connect 1

然后dotnet xxx.dll,重新启动AspNetCore项目,使用静态IP访问,成功!

最简单的CentOS7+Nginx+Asp.net Core配置完成!

 

 

转载于:https://www.cnblogs.com/whzhao/p/9116979.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值