当前位置: 首页 > news >正文

管理阿里云服务器ECS -- 网站选型和搭建

小云:我已经学会了如何登录云服务器ECS了,但是要如何搭建网站呢?

老王:目前有很多的个人网站系统软件,其中 WordPress 是使用非常广泛的一款,而且也可以把 WordPress 当作一个内容管理系统(CMS)来使用,很多初创的企业也是通过 WordPress 构建自己公司的主页。

小云:那我就先用WordPress来搭建我的第一个网站吧。能再介绍下如何搭建么?

老王:WordPress是使用PHP语言开发的内容管理平台,WordPress运行的基础环境一般为“LAMP/LNMP,其中:

  • “L”为Linux的缩写,是操作系统软件,是服务器中其它软件运行的基础,常见的CentOS、Ubuntu等;
  • “A/N”为Apache/Nginx的缩写,是Web服务器软件,用来运行网站页面以及响应处理用户请求;
  • “M”为MySQL的缩写,是数据库软件,用来存放网站运行必要的系统数据和用户数据;
  • “P”为PHP的缩写,是编程软件,用来运行WordPress软件的代码。

小云:原来是这样,那我要如何搭建“LAMP/LNMP环境,并且在这个环境上安装WordPress

老王:我这里推荐的搭建方案有两种,第一种就是通过云市场镜像来搭建,这种方式最简单;第二种方式是自己手动搭建,也就是要登录ECS实例后,先搭建搭建“LAMP/LNMP环境,然后再安装和配置WordPress,这种方式相对来说要了解一些Linux操作系统的基本操作以及如何安装配置软件。接下来我把这两种方式都介绍一下。

搭建方案一:云市场镜像

云服务器ECS的“镜像市场”提供了WordPress的镜像,用于快捷搭建WordPress网站,自动部署“LAMP/LNMP”环境,降低了建站的门槛,非常适合刚开始使用ECS建站的企业或个人用户。

提示:云市场镜像是指来自云市场的优质镜像类商品,其供应商可能是阿里云或者是认证的第三方服务商ISV。云市场镜像包含了预装操作系统、应用环境和各类软件,满足建站/应用开发/可视化管理等个性化需求。

您可以通过以下多种方式使用“云市场镜像”安装WordPress:

方式一:购买ECS实例时,使用WordPress镜像装机:“镜像”选择“云市场镜像”,搜索“WordPress”关键字,选用镜像,进行装机。

方式二:现有ECS更换系统盘,使用WordPress镜像装机

提示:更换系统盘是高风险操作,如果您的ECS实例中已经存储了业务相关数据,不建议您使用该方式搭建WordPress网站。

1. 进入ECS实例详情页面,点击停止,确保更换操作系统的之前ECS实例处于已停止状态,点击更换操作系统,进行镜像配置。

搭建方案二:手动搭建

小云在学习并使用了一段时间ECS后,已经对实例的管理和 Linux 的使用有了一定的基础,于是准备自己手动搭建 WordPress 网站,他将对自己的ECS实例进行如下的安装配置工作:

第一步:部署 LAMP/LNMP 环境,需要在ECS实例中安装操作系统(Linux,本例中使用的操作系统版本为CentOS 7.9 64位)、Web服务器软件(Apache/Nginx)、数据库软件(MySQL)、网站代码运行环境(PHP)。

第二步:部署 WordPress 网站

第一步:部署 “LAMP/LNMP” 环境
  • “L”:通过Linux镜像安装操作系统。
  • “A/N”:安装Web服务器软件,本例为安装Apache服务,在Workbench中依次输入如下命令:
# 安装 Apache
yum -y install httpd
# 设置 Apache 开机自启动
systemctl enable httpd
# 启动 Apache
systemctl start httpd
# 查看 Apache 运行状态
systemctl status httpd

提示:本例中安装的Apache(音译为阿帕奇)是世界上最流行的Web服务器软件之一,其跨平台和安全性被广泛使用,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

当看到“Active: active (running) ”说明Apache服务已经成功运行了。

“M”:安装MySQL数据库,在Workbench中依次输入如下命令:

# 更新 YUM 源
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
# 安装 MySQL 数据库
yum -y install mysql-community-server --nogpgcheck
# 设置 MySQL 开机自启动
systemctl enable mysqld
# 启动 MySQL
systemctl start mysqld
# 查看 MySQL 运行状态
systemctl status mysqld
# 查看 MySQL root用户默认密码
grep 'temporary password' /var/log/mysqld.log |awk '{print $11}'
# 执行MySQL 数据库初始化命令,
mysql_secure_installation

 执行mysql_secure_installation命令会出现MySQL初始化的交互式操作,首先修改 root 密码:

紧接着mysql_secure_installation会继续进行一系列的初始化操作,均输入“y”即可:

“P”:安装PHP,在Workbench中依次输入如下命令:

# 更新YUM源
yum -y install epel-release
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# 安装 PHP
yum-config-manager --enable remi-php82
yum -y install php php-cli php-common php-devel php-embedded php-fpm php-gd php-ldap php-mbstring php-mcrypt php-fpm php-mysqlnd php-pdo php-opcache php-xml php-soap php-redis php-mongodb
# 查看 PHP 安装版本
php -v

测试“LAMP”环境,在Workbench中依次输入如下命令:

# 创建测试页面
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
echo "This is Apache test page." > /var/www/html/index.html
# 重启 Apache 服务
systemctl restart httpd

在ECS实例管理页面获取公网IP地址

在本地打开浏览器:

输入http://ECS实例的公网IP地址,出现如下页面说明Apache服务已经成功运行:

输入http://ECS实例的公网IP地址/phpinfo.php,出现如下页面说明PHP已经安装成功:

提示:如无法访问Apache,需确认Apache服务是否成功启动,且安全组是否开放80端口。开启80端口方法如下:

第二步:部署 WordPress 网站
  • 配置 WordPress 数据库,在Workbench中依次输入如下命令:
# 使用root用户登录 MySQL,并输入密码。
mysql -uroot -p
# 创建 WordPress 网站的同名数据库
create database wordpress;
# 创建 WordPress 网站的管理员用户"wpadmin",密码为"Edualiyun@123"
grant all privileges on wordpress.* to 'wpadmin'@'localhost' identified by 'Edualiyun@123';
# 刷新权限,使配置生效
flush privileges;
# 退出 MySQL
exit;
  • 安装 WordPress,在Workbench中依次输入如下命令:
# 下载 WordPress
cd /opt
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
# 将下载的 WordPress 移动至网站根目录
tar zxvf latest-zh_CN.tar.gz
mv /opt/wordpress/ /var/www/html/
chown -R apache.apache /var/www/html/wordpress
# 修改 Apache 和 WordPress 的配置文件
sed -i 's%DocumentRoot "/var/www/html"%DocumentRoot "/var/www/html/wordpress"%g' /etc/httpd/conf/httpd.conf
cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
sed -i "s/define( 'DB_NAME', 'database_name_here' );/define( 'DB_NAME', 'wordpress' );/g" /var/www/html/wordpress/wp-config.php
sed -i "s/define( 'DB_USER', 'username_here' );/define( 'DB_USER', 'wpadmin' );/g" /var/www/html/wordpress/wp-config.php
sed -i "s/define( 'DB_PASSWORD', 'password_here' );/define( 'DB_PASSWORD', 'Edualiyun@123' );/g" /var/www/html/wordpress/wp-config.php
# 重启 Apache 服务
systemctl restart httpd

网站访问测试

  • 在本地打开浏览器:

      输入http://ECS实例的公网IP地址,出现如下页面说明 WordPress 网站已经成功运行。

  • 登录账号:输入上一步设置的管理员用户名和密码

  • 管理网站:登录后即可自行管理WordPress网站了

您既可以在“设置”里面,完成对网站的标题,副标题,网址等的设置,也可以发表和管理文章上传和使用图片视频等媒体文件根据自己的想法设计网站页面查看和管理用户评论等,除此之外WordPress也提供了很多主题和插件供用户自由选择。

OK,开始你的个人网站设计吧!

相关文章:

管理阿里云服务器ECS -- 网站选型和搭建

小云&#xff1a;我已经学会了如何登录云服务器ECS了&#xff0c;但是要如何搭建网站呢&#xff1f; 老王&#xff1a;目前有很多的个人网站系统软件&#xff0c;其中 WordPress 是使用非常广泛的一款&#xff0c;而且也可以把 WordPress 当作一个内容管理系统&#xff08;CMS…...

WPF中继承ItemsControl子类控件数据模板获取选中属性

需求场景 列表类控件&#xff0c;如 ListBox、ListView、DataGrid等。显示的行数据中&#xff0c;部分内容依靠选中时触发控制&#xff0c;例如选中行时行记录复选&#xff0c;部分列内容控制显隐。 案例源码以ListView 为例。 Xaml 部分 <ListView ItemsSource"{Bi…...

Android卡顿掉帧问题分析之实战篇

本文将结合典型实战案例&#xff0c;分析常见的造成卡顿等性能问题的原因。从系统工程师的总体角度来看 &#xff0c;造成卡顿等性能问题的原因总体上大致分为三个大类&#xff1a;一类是流程执行异常&#xff1b;二是系统负载异常&#xff1b;三是编译问题引起。 1 流程执行异…...

OpenKylin安装Kafka

一、操作系统 openKylin 1.0.1 X86 二、下载安装包 # 安装依赖jdk sudo apt-get update sudo apt-get install default-jdk # 下载kafka mkdir -p /data/software/kafka wget https://archive.apache.org/dist/kafka/2.4.1/kafka_2.13-2.4.1.tgz三、解压安装 # 解压缩Kafka…...

嵌入式硬件中常见的面试问题与实现

1 01 请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌) ▶电阻 美国:AVX、VISHAY威世 日本:KOA兴亚、Kyocera京瓷、muRata村田、Panasonic松下、ROHM罗姆、susumu、TDK 台湾:LIZ丽智、PHYCOM飞元、RALEC旺诠、ROYALOHM厚生、SUPEROHM美隆、TA-I大毅、TMT…...

【Node.JS】koa

文章目录 概述koa和express对比koa下载安装使用1.创建koa项目文件目录2. 创建koa服务3. 添加路由 koa-router4. 数据库服务 mongodb5. 添加请求参数json处理 koa-bodyparser6. 用户接口举例7.引入koa一些常用插件8.用户登录验证 koa-jwt9.webpack生产打包 来源 概述 Koa 是一个…...

工作日志- 不定期更新

1. protobuf中使用import引用其他proto文件&#xff0c;生成后在go语言的go modules中import 包名报错问题。 public.proto文件 //protoc --go_outpluginsgrpc:. public.proto syntax "proto3";package public;option go_package "self/game-service/msg/pu…...

Qt使用opencv打开摄像头

1.效果图 2.代码 #include "widget.h"#include <QApplication>#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>#include <QImage> #include <QLabel> #incl…...

Redis的Hash数据结构中100万对field和value,field是自增时如何优化?优化Hash结构。

ZipList使用是有条件的&#xff0c;当entry数据量太大时就会启用哈希结构&#xff0c;占用内存空间 1.设置bigkey的上限 在redis.config中设置 2.拆分为string类型 String底层结果没有太多优化&#xff0c;占用内存多 想要批量获取数据麻烦 3.拆分为小的hash 将id/100作为…...

二十四种设计模式与六大设计原则(一):【策略模式、代理模式、单例模式、多例模式、工厂方法模式、抽象工厂模式】的定义、举例说明、核心思想、适用场景和优缺点

目录 策略模式【Strategy Pattern】 定义 举例说明 核心思想 适用场景 优缺点 代理模式【Proxy Pattern】 定义 举例说明 核心思想 适用场景 优缺点 单例模式【Singleton Pattern】 定义 举例说明 核心思想 适用场景 优缺点 多例模式【Multition Pattern】…...

mac怎么删除python

mac 默认安装了python2&#xff1b;自己后面又安装了python3&#xff1b;为了方便&#xff0c;现在想将python3换成Anaconda3。 Anaconda是一个开源的Python发行版本&#xff0c;其包含了conda、Python等180多个科学包及其依赖项。 Python3安装之后&#xff0c;在系统中不同目…...

【笔记】Android U RILJ 中与运营商名称SPN显示相关的日志分析

源码阅读&#xff1a;AOSPXRef 常用日志关键字 Note&#xff1a;">"下发MD&#xff0c;"<"MD上报&#xff0c;[]中的id有请求和返回的对应关系 KEYComment> OPERATOR下发MD&#xff0c;请求运营商信息< OPERATORMD上报运营商注册信息> DA…...

蓝桥杯【奇怪的捐赠】c语言

我会将这题的解题的核心思路解为将10进制转化成7进制&#xff0c;毕竟题目上说的很清楚7的几次方 然后附上我认为的最优解 #include<stdio.h> int main() {int n 1000000;int sum 0;while (n ! 0){int a;a n % 7;n n / 7;sum a ;}printf("%d", sum);retu…...

【3月比赛合集】5场可报名的「创新应用」、「数据分析」和「程序设计」大奖赛,任君挑选!

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 创新应用赛&#xff08;2场比赛&#xff09;数据分析赛&#…...

vue3 视频播放功能整体复盘梳理

回顾工作中对视频的处理&#xff0c;让工作中处理的问题的经验固化成成果&#xff0c;不仅仅是完成任务&#xff0c;还能解答任务的知识点。 遇到的问题 1、如何隐藏下载按钮&#xff1f; video 标签中的controlslist属性是可以用来控制播放器上空间的显示&#xff0c;在原来默…...

vue-ueditor-wrap上传图片报错:后端配置项没有正常加载,上传插件不能正常使用

如图所示&#xff0c;今天接收一个项目其中富文本编辑器报错 此项目为vue2项目&#xff0c;富文本编辑器为直接下载好的资源存放在public目录下的 经过排查发现报错的函数在ueditor.all.min.js文件内&#xff0c;但是ueditor.all.min.js文件夹是经过压缩的 所以直接&#xff…...

数据仓库的发展历程

数据仓库的概念可以追溯到20世纪60年代,但真正形成理论并被企业广泛应用还需要一个较长的发展过程。大致可以分为以下几个阶段: 决策支持系统(DSS)时期(1960s-1970s) 这一时期,随着管理信息系统(MIS)和电子计算机的兴起,企业开始尝试构建面向决策的数据处理系统。最初的决策支…...

MySQL开窗函数

测试环境&#xff1a;mysql8.0.18 官方文档&#xff1a;https://dev.mysql.com/doc/refman/8.0/en/window-functions.html 一、窗口函数介绍二、语法结构三、自定义窗口1.rows&#xff08;重点&#xff09;2.range3.默认窗口 四、常用窗口函数示例1.row_number & rank &…...

Java学习笔记(23)

多线程 并发 并行 多线程实现方式 1.继承Thread类 自己创建一个类extends thread类 Start方法开启线程&#xff0c;自动执行重写之后的run方法 2.实现runable接口 自己创建一个类implements runnable Myrun不能直接使用getname方法&#xff0c;因为这个方法是thread类的方法…...

nodejs下载安装以及npm、yarn安装及配置教程

1、nodejs下载安装 ​ 1.1、使用nodejs版本管理工具下载安装&#xff0c;可一键安装、切换不同nodejs版本&#xff0c; nvm-setup.zip&#xff1a;安装版&#xff0c;推荐使用 本次演示的是安装版。 1、双击安装文件 nvm-setup.exe 选择nvm安装路径 例如&#xff1a;E:\Soft…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...