在 Ubuntu 服务器上使用宝塔面板搭建博客

📌 介绍

在本教程中,我们将介绍如何在 Ubuntu 服务器 上安装 宝塔面板,并使用 Nginx + PHP + MySQL 搭建一个博客(如 WordPress)。

主要步骤包括:

  1. 安装宝塔面板
  2. 配置 Nginx + PHP + MySQL
  3. 绑定域名与 SSL 证书
  4. 安装 WordPress 并优化

📌 1. 安装宝塔面板

宝塔官网

在 Ubuntu 服务器上执行以下命令:

# 更新系统
sudo apt update && sudo apt upgrade -y# 下载并安装宝塔面板(适用于 Ubuntu)
wget -O install.sh http://www.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

安装完成后,终端会显示 宝塔面板的访问地址、账号和密码,请妥善记录。


📌 2. 登录宝塔面板并配置环境

  • 在浏览器访问 http://服务器IP:8888
  • 输入 账号 & 密码 登录

安装必备环境:

  1. 进入 “软件商店”
  2. 安装以下软件:
    • Nginx(Web 服务器)
    • MySQL(数据库)
    • PHP 8.0+(用于运行 WordPress)
    • phpMyAdmin(数据库管理工具)

配置 PHP:

  • 上传限制:128M
  • 执行时间:300 秒
  • 启用 fileinfo 扩展

📌 3. 配置域名解析

在域名管理平台(如 Cloudflare、阿里云、腾讯云)中添加 DNS 解析:

  1. A 记录解析到服务器 IP
    • 主机记录@
    • 记录值:服务器 IP
  2. 添加 www 解析
    • 主机记录www
    • 记录值:服务器 IP

测试解析是否生效:

ping example.com

如果返回 服务器 IP,说明解析成功。


📌 4. 配置反向代理隐藏宝塔面板端口

配置反向代理可以参考 Nginx 上安装 SSL 证书并启用 HTTPS 访问 。如果已经在宝塔上安装了Nginx就不要安装单独的 Nginx,不然两个冲突了确实挺麻烦的。

  1. 进入宝塔面板设置绑定域名
  2. 添加一个域名,例如 panel.example.com
  3. 进入 Nginx 配置,添加以下反向代理:
proxy_cache_path /www/wwwroot/域名/proxy_cache_dir levels=1:2 keys_zone=主机记录(. 替换成 _)_cache:20m inactive=1d max_size=5g;server {listen 80;listen 443 ssl;listen 443 quic;http2 on;listen [::]:80;server_name 域名;index index.php index.html index.htm default.php default.htm default.html;root /www/wwwroot/域名;#CERT-APPLY-CHECK--START# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除include /www/server/panel/vhost/nginx/well-known/域名.conf;#CERT-APPLY-CHECK--END#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则#error_page 404/404.html;ssl_certificate    /www/server/panel/vhost/cert/域名/fullchain.pem;ssl_certificate_key    /www/server/panel/vhost/cert/域名/privkey.pem;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;ssl_prefer_server_ciphers on;ssl_session_tickets on;ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;add_header Strict-Transport-Security "max-age=31536000";add_header Alt-Svc 'quic=":443"; h3=":443"; h3-29=":443"; h3-27=":443";h3-25=":443"; h3-T050=":443"; h3-Q050=":443";h3-Q049=":443";h3-Q048=":443"; h3-Q046=":443"; h3-Q043=":443"';error_page 497  https://$host$request_uri;#SSL-END#REDIRECT START#REDIRECT END#ERROR-PAGE-START  错误页配置,可以注释、删除或修改#error_page 404 /404.html;#error_page 502 /502.html;#ERROR-PAGE-END#PHP-INFO-START  PHP引用配置,可以注释或修改include enable-php-00.conf;#PHP-INFO-END#IP-RESTRICT-START 限制访问ip的配置,IP黑白名单#IP-RESTRICT-END#BASICAUTH START#BASICAUTH END#SUB_FILTER START#SUB_FILTER END#GZIP START#GZIP END#GLOBAL-CACHE START#GLOBAL-CACHE END#WEBSOCKET-SUPPORT STARTproxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $connection_upgrade;#WEBSOCKET-SUPPORT END#PROXY-CONF-STARTlocation ^~ / {auth_basic "Authorization";auth_basic_user_file /www/server/pass/域名/SNUZu.htpasswd;proxy_pass https://127.0.0.1:18395;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Real-Port $remote_port;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Port $server_port;proxy_set_header REMOTE-HOST $remote_addr;proxy_ssl_server_name on;proxy_connect_timeout 60s;proxy_send_timeout 600s;proxy_read_timeout 600s;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $connection_upgrade;}#PROXY-CONF-END#SERVER-BLOCK START#SERVER-BLOCK END#禁止访问的文件或目录location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md){return 404;}#一键申请SSL证书验证目录相关设置location /.well-known{allow all;}#禁止在证书验证目录放入敏感文件if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {return 403;}#LOG STARTaccess_log  /www/wwwlogs/域名.log;error_log  /www/wwwlogs/域名.error.log;#LOG END
}
  1. 重启 Nginx,然后你可以通过 https://域名 访问宝塔面板,而无需暴露端口 端口

PS:上面的配置是通过在命令行输入 bt,然后开启/关闭【80、443】端口访问面板设置时自动生成的。生成的配置文件的路径是 /www/server/panel/vhost/nginx
在这里插入图片描述


📌 5. 在宝塔面板中添加网站

  1. 进入 “网站管理”点击 “添加站点”
  2. 填写信息:
    • 域名example.com
    • 根目录/www/wwwroot/example.com
    • 数据库MySQL
    • PHP 版本PHP 8.0+
  3. 点击 “创建”

修改 Nginx 伪静态(适用于 WordPress):

location / {try_files $uri $uri/ /index.php?$args;
}

在这里插入图片描述

🔹 下载并解压 WordPress (手动安装:可选)

cd /www/wwwroot/example.com
wget https://wordpress.org/latest.zip
unzip latest.zip
mv wordpress/* .
rm -rf wordpress latest.zip
chown -R www:www /www/wwwroot/example.com
chmod -R 755 /www/wwwroot/example.com

📌 6. 配置 SSL 证书(HTTPS)

  1. 进入 “网站管理”选择 example.com
  2. 点击 “SSL”申请 Let’s Encrypt 证书
  3. 自动续期并启用 HTTPS 强制跳转

加入阿里云的 DNS解析:
在这里插入图片描述

获取 key
在这里插入图片描述

申请证书:
在这里插入图片描述
开启自动续签:
在这里插入图片描述


📌 8. 创建 WordPress 数据库

  1. 进入宝塔面板数据库管理创建数据库
    • 数据库名wordpress
    • 用户名wp_user
    • 密码强密码
  2. 点击 “创建”

📌 9. 配置 WordPress

  1. 访问 https://example.com
  2. 选择 语言
  3. 填写数据库信息:
    • 数据库名wordpress
    • 用户名wp_user
    • 密码你设置的密码
    • 数据库主机localhost
  4. 点击提交安装 WordPress
  5. 创建管理员账号
    • 用户名admin
    • 密码强密码
    • 邮箱你的邮箱

在这里插入图片描述


📌 10. 配置 WordPress 主题和插件

🔹 进入 WordPress 后台https://example.com/wp-admin):

  1. 安装主题
    • 外观主题选择你喜欢的主题
  2. 安装推荐插件
    • Yoast SEO(优化 SEO)
    • WP Super Cache(加速网站)
    • Classic Editor(经典编辑器)

🎉 结论

✅ 你已经成功:

  • 安装宝塔面板
  • 配置 Nginx + MySQL + PHP
  • 启用 HTTPS 并配置 SSL 证书
  • 成功安装 WordPress
  • 创建了属于自己的博客网站!

📌 现在,你可以访问 https://example.com 开始写博客了!🚀

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

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

相关文章

Linux线程

1.线程概念 在一个程序里的一个执行路线就叫做线程(thread),更准确定义:线程是一个进程内部的控制序列 进程至少有一个执行路线,线程在进程内部运行,本质是在进程地址空间内运行,在Linux系统中,CPU眼中&a…

【TI MSPM0】GPIO学习

一、文件样例查找 以GPIO软件轮询为例 下面的四个文件夹分别为不同开发环境提供支持 二、工程导入 1.点击file-点击import project 2.点击browse 3.找到对应的文件打开,选择 推荐使用ticlang,能够提供更加优化的效率 点击finish 三、工程学习 1.readme 文件 &a…

二叉树的基本操作与实现:C语言深度剖析

目录 代码整体框架 1. #define _CRT_SECURE_NO_WARNINGS 2. 头文件引入 3. typedef int BTtype; 4. 二叉树节点结构体定义 二叉树的创建 1. BuyNode 函数 2. CreatNode 函数 二叉树的遍历 前序遍历 中序遍历 后序遍历 二叉树属性的计算 节点个…

深入解析 Latent Diffusion Model(潜在扩散模型,LDMs)(代码实现)

深入解析 Latent Diffusion Model:从传统 Diffusion Model 到高效图像生成的进化 近年来,生成模型在图像合成领域取得了显著进展,其中 Diffusion Model(扩散模型,DMs)以其出色的生成质量和理论上的稳健性逐…

线性回归原理推导与应用(五):波士顿房价预测实战

波士顿房价是一个非常经典的多元线性回归入门案例数据集。波士顿房价预测数据集包含了可能会影响房价的十三个因素,并给出了实际的房价(单位为万美元) 波士顿房价数据集数据集下载地址:https://www.kaggle.com/datasets/altavish…

基于CATIA二次开发的低音炮腔体容积精准计算技术详解

一、功能概述 本工具通过PySide6与CATIA V5深度集成,实现了低音炮上下腔体内体积的自动化测量系统。系统采用三维实体建模法进行容积计算,相较于传统手工计算方式,精度提升可达0.5%。主要功能模块包括: 壳体特征自动识别动态草图…

向量数据库原理及选型

向量数据库 什么是向量什么是向量数据库原理应用场景 向量数据库的选型主流向量数据库介绍向量数据库对比主流向量数据库对比表 选型建议 什么是向量 向量是一组有序的数值,表示在多维空间中的位置或方向。向量通常用一个列或行的数字集合来表示,这些数…

IE代理切换器v1.2免费版

虽然IE浏览器已经过时了,但很多其他浏览器,比如谷歌浏览器的代理服务器设置,都还是基于IE浏览器来进行设置的,如果你的工作场景需要切换不同的代理服务器来访问网络,那这款工具适合你,目前该工具可以实现IE…

模运算的艺术:从基础到高阶的算法竞赛应用

在算法竞赛中,模运算(取模运算)是一个非常重要的概念,尤其在处理大数、防止溢出、以及解决与周期性相关的问题时。C 中的模运算使用 % 运算符,但它的行为和使用场景需要特别注意。 1. 模运算的基本概念 模运算是指求一…

SpringBoot前后端不分离,前端如何解析后端返回html所携带的参数

有一个SpringBoot实现的前后端不分离项目,当前端跳转某个界面时,比如下面的菜单树按钮,后端在返回页面menuTree.html时,还携带了一个参数角色roleId,以便打开菜单树,还要根据这个角色查询对应的分配授权的菜…

操作系统八股文整理(一)

操作系统八股文整理 一、进程和线程的区别二、进程与线程的切换过程一、进程切换进程切换的步骤: 二、线程切换线程切换的步骤: 三、进程切换与线程切换的对比四、上下文切换的优化 三、系统调用一、系统调用的触发二、从用户空间切换到内核空间三、执行…

卷积神经网络(CNN)之 EfficientNet

在深度学习领域,模型的计算效率与性能之间的平衡一直是一个核心挑战。随着卷积神经网络(CNN)在图像分类、目标检测等任务中取得显著成果,模型的复杂度和计算需求也急剧增加。2019年,Google Research 提出的 EfficientN…

leetcode0031 下一个排列-medium

1 题目: 下一个排列 官方标定难度:中等 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一…

Suno的对手Luno:AI音乐开发「上传参考音频 - 方式二:通过URL的方式」 —— 「Luno Api系列|AI音乐API」第12篇

导读 今天来看下Luno Api的上传参考音频 - 方式一:通过二进制流的方式。 参考文件,主要是用于在创作的过程中,希望AI参考这个音乐的曲风和声音来进行创作, 这一节看看如何直接使用url的方式进行实现。 申请和使用 「已经有API…

【开源+代码解读】Search-R1:基于强化学习的检索增强大语言模型框架3小时即可打造个人AI-search

大语言模型(LLMs)在处理复杂推理和实时信息检索时面临两大挑战:知识局限性(无法获取最新外部知识)和检索灵活性不足(传统方法依赖固定检索流程)。现有方法如检索增强生成(RAG)和工具调用(Tool-Use)存在以下问题: RAG:单轮检索导致上下文不足,无法适应多轮交互场景…

Blender-MCP服务源码2-依赖分析

Blender-MCP服务源码2-依赖分析 有个大佬做了一个Blender-MCP源码,第一次提交代码是【2025年3月7号】今天是【2025年月15日】也就是刚过去一周的时间,所以想从0开始学习这个代码,了解一下大佬们的开发思路 1-核心知识点 from mcp.server.fas…

【孟德尔随机化】Leave-one-out analysis的异常点,判断

下面Leave-one-out analysis的结果,第一条线代表去掉rs174564的结果,一些文献把这种情况判断为异常点/离群点,我们接下来看看其他结果 散点图的结果,最旁边的就是rs174564,这个SNP的点 在看下RadialMR的结果&#xff0…

【计算机网络】2物理层

物理层任务:实现相邻节点之间比特(或)的传输 1.通信基础 1.1.基本概念 1.1.1.信源,信宿,信道,数据,信号 数据通信系统主要划分为信源、信道、信宿三部分。 信源:产生和发送数据的源头。 信宿:接收数据的终点。 信道:信号的传输介质。 数据和信号都有模拟或数字…

kubernetes|云原生|部署单master的kubernetes 1.25.5版本集群完全记录(使用contained 运行时)

一、 部署目标: kubernetes版本1.19,1.23的前后差异还是比较巨大的,到1.25版本,为了追求高性能,自然还是需要使用containerd,本文将主要讲述在centos7虚拟机下部署kubernetes 1.25.5集群,使用…

DeepSeek+Dify本地部署私有化知识库

1.Windows安装docker Windows安装Docker-CSDN博客 2.安装olloma https://ollama.com/ 安装完成,可以在桌面右下角看到olloma图标 3.安装deepseekR1模型 ollama官网(deepseek-r1),找到deepseek模型 选择合适大小的模型&#xff…