管理阿里云服务器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 -- 网站选型和搭建
小云:我已经学会了如何登录云服务器ECS了,但是要如何搭建网站呢? 老王:目前有很多的个人网站系统软件,其中 WordPress 是使用非常广泛的一款,而且也可以把 WordPress 当作一个内容管理系统(CMS…...

WPF中继承ItemsControl子类控件数据模板获取选中属性
需求场景 列表类控件,如 ListBox、ListView、DataGrid等。显示的行数据中,部分内容依靠选中时触发控制,例如选中行时行记录复选,部分列内容控制显隐。 案例源码以ListView 为例。 Xaml 部分 <ListView ItemsSource"{Bi…...

Android卡顿掉帧问题分析之实战篇
本文将结合典型实战案例,分析常见的造成卡顿等性能问题的原因。从系统工程师的总体角度来看 ,造成卡顿等性能问题的原因总体上大致分为三个大类:一类是流程执行异常;二是系统负载异常;三是编译问题引起。 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文件,生成后在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使用是有条件的,当entry数据量太大时就会启用哈希结构,占用内存空间 1.设置bigkey的上限 在redis.config中设置 2.拆分为string类型 String底层结果没有太多优化,占用内存多 想要批量获取数据麻烦 3.拆分为小的hash 将id/100作为…...

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

mac怎么删除python
mac 默认安装了python2;自己后面又安装了python3;为了方便,现在想将python3换成Anaconda3。 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 Python3安装之后,在系统中不同目…...
【笔记】Android U RILJ 中与运营商名称SPN显示相关的日志分析
源码阅读:AOSPXRef 常用日志关键字 Note:">"下发MD,"<"MD上报,[]中的id有请求和返回的对应关系 KEYComment> OPERATOR下发MD,请求运营商信息< OPERATORMD上报运营商注册信息> DA…...

蓝桥杯【奇怪的捐赠】c语言
我会将这题的解题的核心思路解为将10进制转化成7进制,毕竟题目上说的很清楚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、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 创新应用赛(2场比赛)数据分析赛&#…...

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

vue-ueditor-wrap上传图片报错:后端配置项没有正常加载,上传插件不能正常使用
如图所示,今天接收一个项目其中富文本编辑器报错 此项目为vue2项目,富文本编辑器为直接下载好的资源存放在public目录下的 经过排查发现报错的函数在ueditor.all.min.js文件内,但是ueditor.all.min.js文件夹是经过压缩的 所以直接ÿ…...
数据仓库的发展历程
数据仓库的概念可以追溯到20世纪60年代,但真正形成理论并被企业广泛应用还需要一个较长的发展过程。大致可以分为以下几个阶段: 决策支持系统(DSS)时期(1960s-1970s) 这一时期,随着管理信息系统(MIS)和电子计算机的兴起,企业开始尝试构建面向决策的数据处理系统。最初的决策支…...

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

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

nodejs下载安装以及npm、yarn安装及配置教程
1、nodejs下载安装 1.1、使用nodejs版本管理工具下载安装,可一键安装、切换不同nodejs版本, nvm-setup.zip:安装版,推荐使用 本次演示的是安装版。 1、双击安装文件 nvm-setup.exe 选择nvm安装路径 例如:E:\Soft…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...