第一步,安装dotnet环境,网上需求教程都没有强调这一点,导致仅按教程是操作不了的。
添加dotnet 产品 Feed。要开始安装.NET,您需要注册Microsoft签名密钥并添加Microsoft产品提要。这只需要在每台机器上完成一次。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
开始安装 ASP.NET Core运行时环境(有提问时全部回答Y)
sudo yum update
sudo yum -y install libunwind libicu
sudo yum install dotnet-sdk-2.0.3
第一步安装完成,查看一下是否安装成功
dotnet --version
第二步升级系统并安装Apache 2.4
sudo yum update -y
sudo yum -y install httpd mod_ssl
第三步创建Apache虚拟网站配置文件如:helloapp.conf,存放于位置/etc/httpd/conf.d/helloapp.conf
注意修改域名、IP地址和端口(端口要与应用程序设置一致)
<VirtualHost *:*> RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME} </VirtualHost> <VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://127.0.0.1:5000/ ProxyPassReverse / http://127.0.0.1:5000/ ServerName www.example.com ServerAlias *.example.com ErrorLog ${APACHE_LOG_DIR}helloapp-error.log CustomLog ${APACHE_LOG_DIR}helloapp-access.log common </VirtualHost>
测试配置文件是否有问题
sudo service httpd configtest
重新启动 Apache:
sudo systemctl start httpd //启动 sudo systemctl restart httpd //重启 sudo systemctl enable httpd //
创建服务定义文件并存放在制定位置:/etc/systemd/system/kestrel-helloapp.service
[Unit] Description=Example .NET Web API App running on CentOS 7 [Service] WorkingDirectory=/var/www/helloapp ExecStart=/usr/bin/dotnet /var/www/helloapp/helloapp.dll Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-example User=apache Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target
创建应用程序网站放置的位置目录,要与上面服务定义的文件一致:
mkdir -p /var/www/helloapp
启用该服务:
sudo systemctl enable kestrel-helloapp.service //启用服务
sudo systemctl start kestrel-helloapp.service //启动服务
sudo systemctl status kestrel-helloapp.service //查看服务状态
第四步,发布应用程序
创建示例测试程序
安装好dotnet环境后执行以下命令
cd /home dotnet new mvc -o helloapp
修改Program.cs文件(也可以修改配置文件)
public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseUrls("http://*.5000") //注意端口要一致 .UseStartup<Startup>() .Build(); }
将修改好的示例应用程序发布到网站目录
dotnet publish -o /var/www/helloapp/
将试图文件夹拷贝到网站目录下
cp -r /home/helloapp/Views/ /var/www/helloapp/
重启apache即可范文网站