第一步,安裝dotnet環境,網上需求教程都沒有強調這一點,致使僅按教程是操做不了的。apache
添加dotnet 產品 Feed。要開始安裝.NET,您須要註冊Microsoft簽名密鑰並添加Microsoft產品提要。這隻須要在每臺機器上完成一次。 bash
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)mvc
sudo yum update
sudo yum -y install libunwind libicu sudo yum install dotnet-sdk-2.0.3
第一步安裝完成,查看一下是否安裝成功app
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地址和端口(端口要與應用程序設置一致)ui
<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>
測試配置文件是否有問題url
sudo service httpd configtest
從新啓動 Apache:spa
sudo systemctl start httpd //啓動 sudo systemctl restart httpd //重啓 sudo systemctl enable httpd //
建立服務定義文件並存放在制定位置:/etc/systemd/system/kestrel-helloapp.servicerest
[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便可範文網站