在CentOs8上安装,配置Apache,部署.net Core程序

安装Apache和Mysql

Mysql

Apache

配置Apache

官方文档

a2enmod proxy proxy_http proxy_html rewrite

启用apache模块,但是centos8下是没有这个命令的a2enmod
这就很尴尬了,我linux学的不是很好,各种翻档案.....
目录结构
apache rewrite mod的文档
如何在centos8中添加模块

在 /etc/httpd/conf/httpd.conf 中添加一行
LoadModule rewrite_module modules/mod_rewrite.so
保存
在 <Directory /var/www/html>这一节修改Allowoverride 的值改成All,允许.htaccess所有指令
我们通常利用Apache的rewrite模块对URL进行重写,rewrite规则会写在 .htaccess 文件里。但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对.htaccess 所在目录进行配置。
同样的方法来安装proxy_html 和 proxy

echo 'LoadModule proxy_http_module  modules/mod_proxy_http.so' >> /etc/httpd/conf/httpd.conf 
echo 'LoadModule proxy_http_module  modules/mod_proxy.so' >> /etc/httpd/conf/httpd.conf 

但是proxy_html是一个第三方的模块,只能手动下载

yum install mod_proxy_html
echo 'LoadModule proxy_html_module modules/mod_proxy_html.so' >> /etc/httpd/conf/httpd.conf 

安装完成,重启apache服务

service httpd restart

接下来创建虚拟主机

创建虚拟主机文件

sudo nano /etc/httpd/conf.d/reactivities.conf

写入如下内容

<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/

ErrorLog /var/log/httpd/reactivities-error.log
CustomLog /var/log/httpd/reactivities-access.log common

RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5000/$1 [P]

</VirtualHost>

启用站点

使用vsCode的Deploy(reloaded)插件通过sftp上传本地的虚拟机

image.png

在.vscode文件夹中添加settings.json文件配置

dotnet publish -c Release -o publish --self-contained false Reactivities.sln

生成发布文件夹
在服务器(虚拟机)中查看文件是否上传成功


image.png

似乎上传到了单独的publish文件夹里面,暂时没找到解决方案

创建service文件

sudo nano /etc/systemd/system/kestrel-web.service

写入如下内容


image.png

注意 " : "要用双下划线代替
完成后启用kestrel服务

sudo systemctl enable kestrel-web.service

确认状态

sudo systemctl status kestrel-web.service

报错

报错了,赶紧google下
更换一下路径
/usr/local/bin/dotnet 换成 /usr/bin/dotnet
重新启动
报错
'
修改user为root
仍然报错

找了半天,终于发现原来是路径错了,应该是 /var/www/html/reactivities/publish
这个故事告诉我们新手还是不要用最新版本的centos,还是按照官方的文档使用centos7或者unbantu好一点,不然很容易在这种简单的问题上浪费大量时间
image.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。