从开始学开发的时候就一直想创建一个属于自己的博客网站。一直都是希望自己手写从0开始,由于才疏学浅,加上刚做开发没多久,知识不够全面,时间也不是非常的充裕,所以一直搁置着。从一开始的.net到php再到最后的django尝试过用很多种语言,最终还是选择了最好的C#。起初用了ABP自己摸索玩了一把,确实完成了,但感觉没必要而且我是一个喜欢换主题的人。然后开始从网上找博客引擎,找了不少也尝试过了,最后选择了WordPress。原因很简单,因为涉及到PeachPie我没用过就当学习,而且WordPress的主题和插件都很完善这正是我想要的。
PeachPie是什么?
PeachPie是一个基于.NET和.NET Core核心框架的开源PHP语言编译器和运行时。PeachPie编译用PHP编写的源代码以获得CIL字节码。PeachPie利用.NET框架的JIT编译器组件来处理编译过程的开始。它的目的是将PHP脚本编译成包含CIL代码和元数据的.NET程序集。
目前最新版本已经支持PHP8了。
前期准备:
- .Net Core 3.1
- Mysql
Example
一、创建.Net Core 项目 (框架版本选择:.Net Core 3.1)
二、添加Nuget包引用(PeachPied.WordPress.AspNetCore.)
三、Startup.cs文件中添加WordPress管道
namespace LjsGo.WordPress
{
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddWordPress();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
// 添加WordPress管道
app.UseWordPress();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync("Hello World!");
});
});
}
}
}
四、添加appsetting.json配置
"WordPress": {
"dbhost": "localhost",
"dbpassword": "password",
"dbuser": "root",
"dbname": "wordpress"
}
五、安装博客系统
总结
安装前如果遇到数据库相关错误请先测试好数据账号密码,并且需要提前先创建好数据库,数据库名称、host、密码、用户名都要对应的都需要正确才可以进入安装界面。
如果开始配置的appsetting.json文件中dbhost是localhost那么在部署完成后要将其在数据库表中的值设置为你的域名或者IP,否则会报很多乱七八糟的错。
作者:LIN JIASHUO
来源:在.NET Core上部署WordPress – LINJIASHUO
链接:LINJIASHUO BlOG