管理阿里云服务器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,开始你的个人网站设计吧!

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

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

相关文章

使用yolov9来实现人体姿态识别估计(定位图像或视频中人体的关键部位)教程+代码

yolov9人体姿态识别&#xff1a; 相较于之前的YOLO版本&#xff0c;YOLOv9可能会进一步提升处理速度和精度&#xff0c;特别是在姿态估计场景中&#xff0c;通过改进网络结构、利用更高效的特征提取器以及优化损失函数等手段来提升对复杂人体姿态变化的捕捉能力。由于YOLOv9的…

架构师之路--docker命令实践整理

安装docker sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum install -y yum-utils sudo yum-config-manager --add-repo http://mirrors.aliyun.com/…

开源博客项目Blog .NET Core源码学习(12:App.Application项目结构分析)

开源博客项目Blog的App.Application项目主要定义网站页面使用的数据类&#xff0c;同时定义各类数据的增删改查操作接口和实现类。App.Application项目未安装Nuget包&#xff0c;主要引用App.Core项目的类型。   App.Application项目的顶层文件夹如下图所示&#xff0c;下面逐…

巨控GRM110系列:短距离内的无线通讯模块

标签: #巨控GRM110 #无线通讯 #ROLA技术 #工业自动化 #远程数据采集 在工业自动化和智能制造的领域中&#xff0c;数据的准确传输是实现高效生产的关键。随着技术的不断进步&#xff0c;无线通讯技术已成为破解远距离数据传输难题的利器。今天&#xff0c;我们将聚焦于一款革命…

U盘未格式化?数据恢复大揭秘!

在日常办公和生活中&#xff0c;U盘已成为我们不可或缺的数据存储工具。然而&#xff0c;有时我们会遇到这样一个令人头疼的问题&#xff1a;原本正常使用的U盘&#xff0c;突然提示“未格式化”&#xff0c;里面的文件似乎都消失不见了。面对这种情况&#xff0c;很多人会感到…

35岁,程序员职业生涯的新起点

近年来&#xff0c;关于程序员职业生涯的讨论日益热烈&#xff0c;而“35岁被认为是程序员职业生涯的分水岭”更是成为了一个备受关注的话题。在这篇文章中&#xff0c;我们将探讨这一说法的合理性&#xff0c;并从事实和数据的角度来分析&#xff0c;为什么35岁并非程序员职业…

线程池-1:线程池是如何复用线程的?

这段代码实现了一个简单的线程池 SimpleThreadPool。主要包括以下几个关键部分&#xff1a; 构造函数&#xff1a;初始化最大线程数 maxPoolSize、任务队列 taskQueue、当前线程数 currentPoolSize&#xff0c;以及锁 lock 和条件 taskAvailable。 submit(Runnable task) 方法…

PSINS初学指导

2024-3-27/Evand/Ver1 因为惯导解算设计的数学公式很多&#xff0c;在编程时如果一步一步自己编&#xff0c;非常耗时耗力&#xff0c;所以在进行上层设计时&#xff0c;借助工具箱完成底层的复杂计算是很有必要的。另一方面&#xff0c;也能利用工具箱进行惯导解算方面的学习…

FPGA时钟资源详解(2)——Clock-Capable Inputs

FPGA时钟系列文章总览&#xff1a;FPGA原理与结构&#xff08;14&#xff09;——时钟资源https://ztzhang.blog.csdn.net/article/details/132307564 目录 一、概述 1.1 为什么使用CC 1.2 如何使用CC 二、Clock-Capable Inputs 2.1 SRCC 2.2 MRCC 2.3 其他用途 2.3.1…

WIFI驱动移植实验:WIFI驱动加载测试

一. 简介 前面文章学习了向kernel内核源码中添加 trl8188驱动代码&#xff0c;配置内核以支持 WIFI设备&#xff0c;使能WIFI功能。文章地址如下&#xff1a; WIFI驱动移植实验&#xff1a;删除Linux内核自带的 RTL8192CU 驱动-CSDN博客 WIFI驱动移植实验&#xff1a;将 rtl…

LeetCode 135. 分发糖果

n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#xff0c;计算并返回需要准备的…

C语言中连字符“#”的使用,输出固件的编译时间和版本号

首先我们使用C语言宏定义和“#”来组合字符串 #define MAINVER 2#define SUBVER1 0#define SUBVER2 1#define STR(s) #s#define VERSION(a,b,c) "System V" STR(a) "." STR(b) "." STR(c) " "__DATE__ 然后我们在全局变量中定义一…

服务器硬件

目录 服务器CPU服务器GPU服务器内存服务器硬盘服务器主板散热系统&#xff08;服务器风扇&#xff09;服务器电源&#xff08;电影供应器&#xff09;其他网络适配器扩展卡 服务器CPU 基于架构的分类&#xff1a;根据CPU的架构不同&#xff0c;可以分为x86架构&#xff08;如I…

API接口鉴权签名设计

在设计API接口的鉴权签名时&#xff0c;通常会使用一种加密算法来生成签名&#xff0c;以确保请求的合法性和安全性。以下是通过鉴权签名的设计方案。 1、接口秘钥设置 Key:123 Secret:abc 2、接口Url 接口Url需要使用https的协议保证接口数据安全传输 3、请求参数 3.1、…

VsCode的json文件不允许注释的解决办法

右下角找到注释点进去 输入Files: Associations搜索出此项 改为项为*.json值为jsonc保存即可 然后会发现VsCode的json文件就允许注释了

哈工大 sse C语言 困难

Q1892.(10分数, 语言: C)Two Bags of Potatoes time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Valera had two bags of potatoes, the first of these bags contains x (x≥1) potatoes, and the second — y (y…

RAG进阶笔记:RAG进阶

1 查询/索引部分 1.1 层次索引 创建两个索引——一个由摘要组成&#xff0c;另一个由文档块组成分两步进行搜索&#xff1a;首先通过摘要过滤出相关文档&#xff0c;接着只在这个相关群体内进行搜索 1.2 假设性问题 让LLM为每个块生成一个假设性问题&#xff0c;并将这些问…

SQL104 返回产品名称和每一项产品的总订单数(left join..on.. ,group by)

select prod_name,count(order_num) as orders from Products P left join OrderItems OI on OI.prod_id P.prod_id group by prod_name order by prod_name;left join一个数据条多的表 count&#xff08;order_num&#xff09;,group by 另一个字段

C/C++ 各种编译器平台判断,返回对应平台CPU缩写符

参考以下实现&#xff0c;MIPS、ARM、RISV64、X86、X86_64、M68K、S390X、MIPS64、PPC64、LONGARCH32、LONGARCH64等。 const char* GetPlatformCode() noexcept { #if defined(__x86_64__) || defined(_M_X64)return "X86_64"; #elif defined(i386) || defined(__i3…

openEuler 22.03 安装 .NET 8.0

openEuler 22.03 安装 .NET 8.0 openEuler 22.03 安装 .NET 8.0 openEuler 22.03 安装 .NET 8.0 查看内核信息 [jeffPC-20240314EIAA ~]$ cat /proc/version Linux version 5.15.146.1-microsoft-standard-WSL2 (root65c757a075e2) (gcc (GCC) 11.2.0, GNU ld (GNU Binutils)…