【建站】手把手教你搭建惊艳的博客

news2024/11/16 3:20:45

系列文章目录

第一章 手把手教你搭建自己的博客


文章目录

  • 系列文章目录
  • 前言
  • 一、网站软件的选择
  • 二、网站空间的选择
    • 1. 建议选择有名、大厂的
    • 2. 上手容易,丰富而详实的文档
    • 3. 要稳定,少出问题
    • 4. 及时处理并有能力处理问题
  • 三、 环境准备
  • 四、 安装PHP8
    • 1. 首先更新一下
    • 2. 查看当前dnf库中的php版本
    • 3. 首先安装Remi存储库
    • 4. 列出PHP module
    • 5. 安装php 8.0
    • 6. 安装php-mysql扩展
    • 7. 验证安装
  • 五、 安装mysql8.0
    • 1. 查看dnf库中mysql版本
    • 2. 安装Mysql8.0
    • 3.配置
    • 4. 为WordPress创建数据库
  • 六、 安装Nginx
    • 1. 查看dnf库中Nginx版本
    • 2. 安装Nginx1.20
    • 3. 查看防火墙
    • 4. 访问默认网站验证安装
    • 5. 启用php支持
  • 七、安装WordPress
    • 1. 访问网站目录
    • 2. 下载安装包
    • 3. 开始安装
  • 总结


前言

相信大多数人都有自己搭建博客网站的想法,本文就手把手一步一步的进行,最终结果类似如下样式:

img

一、网站软件的选择

软件选择成熟而免费的WordPress,WordPress是一款能让您建立出色网站、博客或应用程序的开源软件。
可充分利用超过55,000个插件扩展WordPress,以让您的网站满足需求。您可以增加网店、相册、邮件列表、论坛、统计分析等。
当然也有非常多的网站模板可用。
msedge_N8WOrMSyDD

二、网站空间的选择

建网站,首先得有一个网上的空间,用于存放自己的网站。现在各种云都有相应的服务,一年也没多少钱,现在一般都有活动,如果是新用户建议买三年的。

1. 建议选择有名、大厂的

我用的阿里云的ECS,也推荐你试试,阿里云也有“试用装”:ECS免费试用

msedge_b9YjoVl7Sd

个人的两核4G基本够用了,正好试用的列表里也有,试用一下:

msedge_Sb2QPfegev

目前各种云挺多,选择哪家呢,我目前用的阿里云的,为什么呢?

2. 上手容易,丰富而详实的文档

msedge_UGqbTxyXwN

3. 要稳定,少出问题

所以一定要选择几个大厂之一的,名声在外不易出问题。

4. 及时处理并有能力处理问题

这是非常重要的,出了问题的处理有足够的技术能力处理,并且处理及时。不止是ECS的使用,还包括其他包括域名备案等一系列问题。

例如我提交的一些工单都能很快的响应并给出处理方案。

msedge_MhWNybvriy

三、 环境准备

  • WordPress,官网地址:https://cn.wordpress.org
  • PHP 7.4或更高版本
  • MySQL 5.6或更高版本,或MariaDB 10.1或更高版本
  • Nginx或带mod_rewrite模块的Apache
  • HTTPS支持

四、 安装PHP8

1. 首先更新一下

dnf upgrade

2. 查看当前dnf库中的php版本

dnf list php

我这里看到的是7.2版,版本过低,

php.x86_64     7.2.24-1.module_el8.2.0+313+b04d0a66     appstream

需要安装个新的。

3. 首先安装Remi存储库

dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
remi-release-8.rpm           0 kB/s |  26 kB     00:01
依赖关系解决。
===================================================================================== 
软件包              架构               版本            仓库                 大小
=====================================================================================
安装:
 remi-release      noarch             8.4-1.el8.remi  @commandline         26 k
安装依赖关系:
 epel-release      noarch             8-11.el8        extras               24 k

会自动安装依赖epel-release,无需单独安装。

4. 列出PHP module

dnf module list php

结果类似如下:

CentOS Linux 8 - AppStream
Name        Stream        Profiles                       Summary
php         7.2 [d]       common [d], devel, minimal     PHP scripting language
php         7.3           common [d], devel, minimal     PHP scripting language
php         7.4           common [d], devel, minimal     PHP scripting language

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name        Stream         Profiles                      Summary
php         remi-7.2       common [d], devel, minimal    PHP scripting language
php         remi-7.3       common [d], devel, minimal    PHP scripting language
php         remi-7.4       common [d], devel, minimal    PHP scripting language
php         remi-8.0       common [d], devel, minimal    PHP scripting language
php         remi-8.1       common [d], devel, minimal    PHP scripting language

可以看到已经有了8.0和8.1版本,官网现在8.1还是RC版,准备安装8.0。
期间会询问导入各种公钥,选择“y”即可。

5. 安装php 8.0

dnf module enable php:remi-8.0
dnf install php
===================================================================================
 软件包            架构     版本                 仓库                  大小
===================================================================================
安装:
 php              x86_64   8.0.12-1.el8.remi     remi-modular         1.6 M
安装依赖关系:
 apr              x86_64   1.6.3-11.el8          AppStream            125 k
 apr-util         x86_64   1.6.1-6.el8           AppStream            105 k
 centos-logos-httpd noarch 85.8-1.el8            base                  75 k
 httpd            x86_64   2.4.37-39.module_el8  AppStream            1.4 M
 httpd-filesystem noarch   2.4.37-39.module_el8  AppStream             39 k
 httpd-tools      x86_64   2.4.37-39.module_el8  AppStream            106 k
 libsodium        x86_64   1.0.18-2.el8          epel                 162 k
 libxslt          x86_64   1.1.32-6.el8          base                 250 k
 mailcap          noarch   2.1.48-3.el8          base                  39 k
 mod_http2        x86_64   1.15.7-3.module_el8   AppStream            154 k
 oniguruma5php    x86_64   6.9.7.1-1.el8.remi    remi-safe            210 k
 php-common       x86_64   8.0.12-1.el8.remi     remi-modular         1.2 M
安装弱的依赖:
 apr-util-bdb     x86_64   1.6.1-6.el8           AppStream             25 k
 apr-util-openssl x86_64   1.6.1-6.el8           AppStream             27 k
 nginx-filesystem noarch   1:1.14.1-9.module_el8 AppStream             24 k
 php-cli          x86_64   8.0.12-1.el8.remi     remi-modular         4.7 M
 php-fpm          x86_64   8.0.12-1.el8.remi     remi-modular         1.6 M
 php-mbstring     x86_64   8.0.12-1.el8.remi     remi-modular         525 k
 php-opcache      x86_64   8.0.12-1.el8.remi     remi-modular         768 k
 php-pdo          x86_64   8.0.12-1.el8.remi     remi-modular         156 k
 php-sodium       x86_64   8.0.12-1.el8.remi     remi-modular          94 k
 php-xml          x86_64   8.0.12-1.el8.remi     remi-modular         238 k
启用模块流:
 httpd                     2.4
 nginx                     1.14

事务概要
================================================================================
安装  23 软件包

选择y,等待安装完成。

6. 安装php-mysql扩展

逐一执行下面命令安装扩展

dnf install php-mysql
dnf install php-gd
dnf install php-imagick
dnf install php-zip

7. 验证安装

输入命令查看php版本:

 php -v
PHP 8.0.12 (cli) (built: Oct 19 2021 10:34:32) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.12, Copyright (c), by Zend Technologies

五、 安装mysql8.0

1. 查看dnf库中mysql版本

dnf list mysql
mysql.x86_64        8.0.26-1.module_el8.4.0+915+de215114     appstream

版本8.0,直接安装。

2. 安装Mysql8.0

输入安装命令,注意有“@”:

dnf install @mysql
依赖关系解决。
========================================================================================
 软件包         架构     版本              仓库                大小
========================================================================================
安装组/模块包:
 mysql-server  x86_64   8.0.26-1.module_el8.4.0+915+de215114   AppStream      25 M
安装依赖关系:
 ...省略....
安装模块配置档案:
 mysql/server
启用模块流:
 perl                   5.26
 perl-IO-Socket-SSL     2.066
 perl-libwww-perl       6.34

事务概要
========================================================================================
安装  54 软件包

选择y等待安装完成。

3.配置

启动mysql

systemctl start mysqld

查看运行状态

systemctl status mysqld

设为开机启动

systemctl enable mysqld

运行配置向导

mysql_secure_installation

根据提示进行操作:

[root@localhost mysql]# mysql_secure_installation
## 默认已用空密码登录
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.

##是否安装密码强度验证模块,看自己需求
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: no

## 设置root的密码
Please set the password for root here.
New password:
Re-enter new password:

## 是否删除匿名用户,可删
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

## 默认情况下只允许本机访问,是否开启远程访问,按自己需求
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

## 是否删除测试数据库,可删
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

## 是否立即重新加载刚才的配置,选择是
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
## 配置完毕
All done!

4. 为WordPress创建数据库

登录数据库

mysql -uroot -p

提示输入密码,输入刚设置的root的密码。
创建数据库,名称自己定,例如wordpress

create database wordpress;

查看现有数据库

show databases;

可以看到新建好的数据库

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpress          |
+--------------------+
5 rows in set (0.00 sec)

输入exit退出。

六、 安装Nginx

1. 查看dnf库中Nginx版本

dnf list nginx
nginx.x86_64      1:1.14.1-9.module_el8.0.0+184+e34fea82     appstream

版本有点低,安装新版。

2. 安装Nginx1.20

输入安装命令

dnf install http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.20.2-1.el8.ngx.x86_64.rpm
========================================================================================== 
软件包            架构       版本                        仓库                  大小
==========================================================================================
安装:
 nginx           x86_64     1:1.20.2-1.el8.ngx          @commandline          819 k

事务概要
==========================================================================================
安装  1 软件包

选择y等待安装完成。

3. 查看防火墙

查看是否已开放80端口,修改防火墙设置。某云需要修改安全组设置。

firewall-cmd --query-port=80/tcp

若返回no则未开放。
开放80端口命令:

firewall-cmd --zone=public --add-port=80/tcp --permanent

使设置生效:

 firewall-cmd --reload

4. 访问默认网站验证安装

启动nginx

systemctl start nginx

查看运行状态

systemctl status nginx

会看到包含“ Active: active (running)”字样的成功提示。

设置开机自动启动

systemctl enable nginx

访问 http://服务器ip, 正常会是如下页面
在这里插入图片描述

5. 启用php支持

修改nginx配置文件

cd /etc/nginx/conf.d

备份默认的配置文件

cp default.conf default.conf.bak

修改default.conf

vi default.conf

按"i"键,找到如下代码块,默认是注释状态,去掉#号,并修改为如下配置

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /usr/share/nginx/html/;
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

fastcgi_pass对应php-fpm的监听配置, 配置文件为: /etc/php-fpm.d/www.conf,可查看验证。

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific IPv4 address on
;                            a specific port;
;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
;                            a specific port;
;   'port'                 - to listen on a TCP socket to all addresses
;                            (IPv6 and IPv4-mapped) on a specific port;
;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = /run/php-fpm/www.sock

设置默认文件为index.php

    location / {
        root   /usr/share/nginx/html;
        index  index.php index.html index.htm;
    }

修改完毕后,按ESC,输入:wq保存并退出。
重启nginx:

systemctl restart nginx

七、安装WordPress

1. 访问网站目录

nginx的默认网站目录在/usr/share/nginx/html/,访问并验证一下

cd /usr/share/nginx/html/
ll

可以看到两个html文件,即默认的“Welcome to nginx!”页面。

-rw-r--r--. 1 root root 494 525 09:41 50x.html
-rw-r--r--. 1 root root 612 525 09:41 index.html

可以删除默认的index.html文件

rm -r index.html

询问是否删除,输入y回车即可。

2. 下载安装包

安装下载和解压工具,如果已安装则忽略

dnf install wget
dnf install tar

下载wordpress

wget https://cn.wordpress.org/latest-zh_CN.tar.gz

下载完成之后,解压

tar -zxvf latest-zh_CN.tar.gz

拷贝到当前目录

cp -R wordpress/* /usr/share/nginx/html/

3. 开始安装

访问"http://服务器ip/wp-admin/install.php",可以看到如下页面:
在这里插入图片描述
点击按钮开始配置:
在这里插入图片描述
输入准备好的数据库相关信息。
如果提示无法写入wp-config.php,如下图
在这里插入图片描述
手动创建wp-config.php文件

cd /usr/share/nginx/html/
vi wp-config.php

按i键,粘贴网页中给出的文件内容。
按ESC,输入:wq回车保存。

继续安装,在新页面设置网站的相关信息
在这里插入图片描述
点击按钮开始安装。
安装成功后,访问http://服务器ip即可。
管理后台地址:http://服务器ip/wp-admin

总结

以上就是今天要讲的内容,手把手讲述了一个个人博客网站的搭建,你学会了么。点击免费玩转ECS:https://click.aliyun.com/m/1000370354/

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

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

相关文章

sql知识点复习以及项目中的例子

常见的聚合函数: avg(),求平均值; sum() 求和; count(),计算和; min()求最小值; max&#xff…

ChatGPT想干掉开发人员,做梦去吧

很多人都发现ChatGPT可以做一些代码相关的工作,不仅可以写一些基础的类似python、java、js的代码段,还可以做一定量的调优,于是就开始担忧起来,到哪天我的开发工作会不会被ChatGPT这个工具给取代了? 目录 1. ChatGPT…

腾讯云轻量应用服务器镜像修改限制说明(必看)

腾讯云轻量应用服务器镜像可以更换或修改吗?可以!镜像可以修改,镜像是指轻量服务器的预装操作系统,轻量服务器创建成功后镜像也是可以更换的,如下图: 腾讯云轻量应用服务器镜像可以修改 目录 轻量服务器修…

计算机系统基本组成于基本功能

什么是计算机系统 计算机系统中的各个抽象层: C语言程序设计层 数据的机器级表示,运算语句和过程调用的机器级表示操作系统、编译和链接指令集体系架构(ISA)和汇编层 指令系统、机器代码,汇编语言微体系结构和硬件层 …

365天深度学习训练营-第J9周:Inception v3算法实战与解析

目录 一、前言 二、论文解读 1、Inception网络架构描述 2、Inception网络架构的优点 3、InceptionV3的改进 三、模型搭建 1、Inception-A 2、Inception-B 3、Inception-C 4、Reduction-A 5、Reduction-B 6、辅助分支 7、InceptionV3实现 一、前言 🍨 本…

ASP一个简单的网上教务系统模型的设计与实现

对于一个学校来说,大量教师信息,学生信息管理,学生成绩管理,基本数据的维护都难于通过传统的方法进行管理:这就迫切需要利用计算机技术来帮助学校管理者处理这些日常管理。本系统正是为了简化教学任务的管理&#xff0…

FreeRTOS 任务调度及相关函数详解(一)

文章目录一、任务调度器开启函数 vTaskStartScheduler()二、内核相关硬件初始化函数 xPortStartScheduler()三、启动第一个任务 prvStartFirstTask()四、中断服务函数 xPortPendSVHandler()五、空闲任务一、任务调度器开启函数 vTaskStartScheduler() 这个函数的功能就是开启任…

【ROS2指南-1】配置ROS2环境

资料来源Configuring your ROS 2 environment — ROS 2 Documentation: Dashing documentationhttp://docs.ros.org/en/dashing/Tutorials/Configuring-ROS2-Environment.html 目标:本教程将向您展示如何准备 ROS 2 环境。 教程级别:初学者 时间&…

js控制页面随浏览器放大缩小,页面布局不变

一.给App.vue设置minWidth、minHeight、maxWidth以及maxHeight,值为浏览器的可视窗口大小(我的浏览器不全屏的时候是1920*937,全屏的时候是1920*1080) 1.在main.js中获取浏览器的宽高,并挂载到全局变量上以便使用 // 浏览器窗口,这个地方值不会变,你任意拉扯浏览器也不会改变…

【数据库基本操作】打开数据库

一、启动与关闭 只介绍一种方法: 打开命令行工具,以管理员身份运行 1.启动数据库 net start mysql80 //80是在安装的时候设置的名字(默认),不用在意 2.关闭数据库 net stop mysql80 如题已经成功&#…

场景搭建、素材库、在线标绘等,四维轻云地理空间数据云管理平台新增了这些功能

四维轻云是一款地理空间数据云管理平台,具有地理空间数据在线管理、展示及分享等功能。在四维轻云平台中,用户可以不受时间地点的限制,随时随地管理、查看及分享各类地理空间数据。 为了更好地满足用户需求和进行地理空间数据在线管理&#…

【C++从入门到放弃】string全方面分析(常用接口、模拟实现)

🧑‍💻作者: 情话0.0 📝专栏:《C从入门到放弃》 👦个人简介:一名双非编程菜鸟,在这里分享自己的编程学习笔记,欢迎大家的指正与点赞,谢谢! strin…

d2l 文本预处理textDataset

这一节极其重要,重要到本来是d2l的内容我也要归到pyhon封面,这里面class的操作很多,让我娓娓道来! 目录 1.要实现的函数 2.读取数据集 3.词元化 4.Vocab类 4.1count_corpus(tokens) 4.2class中的各种self 4.2.1 _token_fr…

CS5260设计电路|替代RTD2169设计方案|Typec转VGA方案应用设计

CS5260,RTD2169,AG9300都可实现Type-C TO VGA转换器设计,适用于笔记本电脑、主板、台式机、适配器和对接系统等多个细分市场和显示器应用程序, CS5260设计电路如下: 2. CS5260功能特性: USB-C型规格1.2 VESA显示端口tm (DP) v1.4兼容接收机…

nvm安装及使用

nvm是一个node的版本管理工具。 nvm-windows下载 1、安装 首先要卸载电脑上已经有的node版本,注意需要卸载干净,再安装nvm 一路 next 安装就可以了。 安装成功后,以管理员身份运行(很重要!!!&…

MIPI 打怪升级之DCS篇

目录1 Overview2 Display Architectures2.1 The Type 1 Display Architecture3 Power Level3.1 Type 1 Display Architecture Power Change Sequences3.2 Type 2 Display Architecture Power Change Sequences3.3 Type 3 Display Architecture Power Change Sequences4 Gamma C…

unity的学习,准备搞一款mmo小游戏,服务器和客户端从零学

如代码所示,简单了解一下。 using System.Collections; using System.Collections.Generic; using UnityEngine;public class test : MonoBehaviour { void Awake(){Debug.Log("awake hello world!");}// 当脚本可用时,也就是打勾的时候可以…

线程同步-信号量-互斥量-条件变量

文章目录线程同步信号量互斥量条件变量线程同步 线程同步其实实现的是线程排队。防止线程同步访问共享资源造成冲突。多个线程访问共享资源的代码有可能是同一份代码,也有可能是不同的代码;无论是否执行同一份代码,只要这些线程的代码访问同…

Java避免死锁的几个常见方法(有测试代码和分析过程)

目录 Java避免死锁的几个常见方法 死锁产生的条件 上死锁代码 然后 :jstack 14320 >> jstack.text Java避免死锁的几个常见方法 Java避免死锁的几个常见方法 避免一个线程同时获取多个锁。避免一个线程在锁内同时占用多个资源,尽量保证每个锁…

Geoserver启动时提示:The GEOSERVER_HOME variable is not defined

场景 GeoServer简介、下载、配置启动、发布shapefile全流程(图文实践): GeoServer简介、下载、配置启动、发布shapefile全流程(图文实践)_霸道流氓气质的博客-CSDN博客 在下载解压之后点击启动bat时提示: The GEOSERVER_HOME environment variable is not defin…