Ubuntu+Nginx+php+SQLite3+typecho手动搭建个人博客

零.Ubuntu环境

一.安装nginx

        使用以下指令进行nginx web服务器安装:

apt-get install nginx

        如果提示找不到安装包,也可以更新一下系统的apt环境包:

sudo apt update

        安装完成后,可以使用以下指令查看nginx是否处于激活状态:

systemctl status nginx

        激活状态如下:

         其他nginx指令参考如下:

  1. systemctl start nginx:启动 Nginx 服务
  2. systemctl stop nginx:停止 Nginx 服务
  3. systemctl restart nginx:重启 Nginx 服务
  4. systemctl enable nginx:设置为开机自启动
  5. nginx -t:检查nginx的配置文件是否合规

        使用以下指令可以查看到端口是否被nginx占用:

netstat -anpt

        可以查看到nginx目前正在占用80端口:

        在浏览器中输入本地IP(0.0.0.0)检查nignx是否正常启动:

 

        出现nginx欢迎页即表示安装成功。

二.安装PHP

        使用以下指令安装适合系统版本的PHP:

sudo apt install php-fpm php-cli php-curl php-gd php-mbstring php-xml php-sqlite3 

        安装完成后可以使用以下指令查看php是否处于开启状态:

 systemctl status phpX.X(你的版本)-fpm

        正常激活状态如下:

        如果你不知道安装的版本是多少,可以在以下路径(/run/php)查看:

        还有一些别的可供选择的指令如下:

sudo systemctl start  phpX.X-fpm  开启php服务

sudo systemctl enable phpX.X-fpm  设置php为开机自启动

        在路径:/var/www/html/ 下创建一个测试php 文件(文件名:phpinfo.php),文件内容如下:

        保存退出后,使用浏览器访问:http://0.0.0.0/phpinfo.php,可以查询到PHP的相关信息,包含支持的扩展等:

        能打开该网页,即代表安装成功。

三.配置Nginx

        创建站点配置文件‌,编辑 路径/etc/nginx/conf.d/typecho.conf(没有该文件就自己创建一个)下文件:

server {listen 80; #监听的端口server_name 写你的IP;root /var/www/html;index index.php;location / {try_files $uri $uri/ /index.php?$args;}location ~ \.php$ {include fastcgi_params;fastcgi_pass unix:/run/php/php-fpmx.x.sock;  # 确认下php的版本是否正确fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;}location ~ /\.ht {deny all;}
}

      编辑完成后使用指令检查一下ngnix配置文件是否有不合规的地方:

 sudo nginx -t

        没有问题之后执行指令重启nginx服务:

 sudo systemctl reload nginx

        重启完检查一下nginx是否成功开启,处于激活状态 

四.部署typecho并且登录个人博客网站

        在typecho的官网(Typecho Official Site)下载最新版本的压缩包(编写文章时最新版是V1.2.1):

        将压缩包的内容解压至路径 /var/www/html 下:

         

        使用以下指令更换所有权用户:

sudo chown -R www-data:www-data /var/www/html

         使用以下指令授权文件夹:

sudo chmod -R 755 /var/www/html

        使用以下指令创建数据库文件保存文件夹:

sudo mkdir -p /var/www/html/usr/uploads && sudo chmod 777 /var/www/html/usr/uploads 

        全部配置完成后,重启一下nginx,指令前面已经说过了,不再赘述,重启完成后,我们就可以直接在浏览器上输入IP:0.0.0.0,就能自动进入到typecho的个人博客欢迎页面:

       

        跟着教程一步一步注册部署,一个简易版个人博客就搭建完成了,后续可以根据个人喜好更换不同的主题。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/87166.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/87166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络协议概念与应用层

1.概念 1.1 例子 点外卖 上述这个过程,就是自定义协议 自定义协议,具体的方式也是非常灵活的 2.几种开发中更常见的格式 2.1xml 上古时期的组织数据的格式 通过标签来组织数据 xml的优势:让数据的可读性变得更好了 劣势:标签写起来繁琐,传输的时候也占用更多网络带宽 2.2…

pytorch学习—7.处理多维特征的输入

2. 线性模型 3.梯度下降算法 4.反向传播(用pytorch算梯度) 5.用pytorch实现线性回归 6.logistic回归 7.处理多维特征的输入_哔哩哔哩_bilibili 7.1代码复现: import numpy as np import torch import matplotlib.pyplot as plt# 1. 获取数据集 xy_data = np.lo

AI助手“智普清言”《三元》(Python)诗解

文本逻辑解清晰,诗意对应技法轻。 笔记模板由python脚本于2025-07-01 06:54:55创建,本篇笔记适合喜欢python三元语句的coder翻阅。 学习的细节是欢悦的历程 博客的核心价值:在于输出思考与经验,而不仅仅是知识的简单复述。 Pytho…

本地RAG实战:用Spring AI+Ollama+DeepSeek+ChromaDB增强文档问答

本文手把手教你在本地部署RAG系统: 用 Spring AI 整合 Ollama(运行DeepSeek中文模型)ChromaDB 存储本地文档(PDF/TXT)向量Java程序实现:文档解析 → 语义检索 → 增强生成 最终效果:模型回答更准…

Python 数据分析:DataFrame,生成,用字典创建 DataFrame ,键值对数量不一样怎么办?

目录 1 示例代码2 欢迎纠错3 论文写作/Python 学习智能体------以下关于 Markdown 编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右S…

Java 并发编程的 CAS(Compare and Swap)是什么?

CAS(Compare and Swap,比较并交换) 并非 Java 语言特有的概念,而是现代计算机硬件提供的一条核心原子指令。在 Java 并发编程中,它扮演着“幕后英雄”的角色,是构建高性能、无锁并发工具(如原子…

【UnityAssetBundle】AssetBundle打包

AssetBundle生成AB包资源文件方式: Unity编辑器开发,自定义打包工具;官方提供好的打包工具,Asset Bundle Browser 打包 选择一个资源,new一个压缩包名称或选择一个压缩包名称 点击Window->AssetBundle Browser&…

Hush Puppies大中华区鞋类业务移交品牌方继续经营

据悉,随着百丽集团运营的暇步士(Hush Puppies)大中华区鞋类授权的到期,暇步士(Hush Puppies)鞋类业务已开始运营权移交。其中线上渠道授权于2025年6月30日正式到期,线下渠道将于2025年12月31日前…

解释LLM怎么预测下一个词语的

解释LLM怎么预测下一个词语的 通过上文词的向量进行映射 在Transformer架构的大语言模型(如GPT系列、BERT等)中,词语会先被转化为词向量。在预测下一个词时,模型会基于之前所有词的向量表示(并非仅仅上一个词,但上一个词的向量是重要信息来源之一)进行计算。 以GPT-2…

DAY 49 CBAM注意力

目录 DAY 49 CBAM注意力1.通道注意力模块复习2.空间注意力模块3.CBAM的定义作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 DAY 49 CBAM注意力 1.通道注意力模块复习 2.空间注意力模块 3.CBAM的定义 import torch import torch.nn …

【网络】Linux 内核优化实战 - net.ipv4.conf.all.rp_filter

目录 net.ipv4.conf.all.rp_filter 参数详解一、参数基本概念二、参数取值及含义三、反向路径过滤的工作原理四、配置示例与注意事项五、与其他参数的关联六、总结 net.ipv4.conf.all.rp_filter 参数详解 一、参数基本概念 net.ipv4.conf.all.rp_filter 是 Linux 内核中用于控…

ElementUI el-select多选下拉框,回显数据后无法重新选择和修改

问题 ElementUI el-select多选下拉框,回显数据后无法重新选择和修改,点击选择和删除都没有反应,页面也没有报错 方案一 网上搜出来的基本上都是这个解决办法,但是我设置后没有生效,还是无法选择和修改 原因 下拉框数…

计算机视觉的新浪潮:扩散模型(Diffusion Models)技术剖析与应用前景

近年来,扩散模型(Diffusion Models, DMs)迅速崛起,成为计算机视觉领域最令人瞩目的生成模型之一。从生成高质量图像到风格迁移、图像修复,再到文本驱动图像生成(如 DALLE 2、Stable Diffusion、Midjourney&…

「Java流程控制」跳转语句

今天来聊聊Java里的两个重要跳转语句——break和continue。它们就像马路上的交通信号灯,能够控制程序执行的流向。 break和continue break和continue在循环中的作用,特别像快递分拣中心的工作场景: break:就像发现一个破损包裹,直接停止当前分拣流程,把它扔进异常品处理…

R1-Searcher使用强化学习增强语言模型解决问题的搜索能力

R1-Searcher:Incentivizing the Search Capability in LLMs via Reinforcement Learning 2025.3 https://github.com/RUCAIBox/R1-Searcher 针对的问题: 现有大型推理模型在时间敏感或知识密集型问题上通常仅使用模型内部知识,导致回答不准…

C++中的虚函数与纯虚函数

文章目录 虚函数 (Virtual Function)纯虚函数 (Pure Virtual Function)主要区别实际应用示例 C中的虚函数和纯虚函数是实现多态性的重要机制。 虚函数 (Virtual Function) 虚函数是在基类中用virtual关键字声明的函数,它允许派生类重写(override)该函数的实现。当…

(LeetCode 每日一题) 3330. 找到初始输入字符串 I (字符串)

题目:3330. 找到初始输入字符串 I 思路:字符串,时间复杂度0(n)。 默认没有输错的情况ans1,而输错的情况,只会出现在连续相等字符串,假设这段字符串长度为ct,那么可能的情况为ct-1。累计这些和到…

Deep semi-supervised learning for medical image segmentation: A review

概述 医学图像分割的重要性:它是计算机辅助诊断(CAD)的关键部分,能帮助医生定位病变、评估治疗效果,减轻医生工作量。 深度学习技术的应用:U-Net等网络在医学图像分割中表现优异,近期大型视觉语…

[云上玩转Qwen3系列之四]PAI-LangStudio x AI搜索开放平台 x ElasticSearch: 构建AI Search RAG全栈应用

本文详细介绍了如何使用 PAI-LangStudio 和 Qwen3 构建基于AI搜索开放平台 x ElasticSearch 的 AI Search RAG 智能检索应用。该应用通过使用 AI 搜索开放平台、ElasticSearch 全文检索向量检索引擎的混合检索技术配合阿里云最新发布的 Qwen3 推理模型编排在一个 Agentic Workf…

前端请求浏览器提示net::ERR_UNSAFE_PORT的解决方案

起因 项目中后端给到了6666端口的服务地址, 随即前端项目访问中浏览器报错如下: 不安全端口在主流浏览器(Chrome/Firefox/Edge/Safari)中会被拦截,触发浏览器Network的status列显示 net::ERR_UNSAFE_PORT 错误, 以下是常见的不安全端口一览…