首页 > 其他分享 >手把手教你在阿里云ECS上搭建惊艳的博客

手把手教你在阿里云ECS上搭建惊艳的博客

时间:2022-12-07 12:37:50浏览次数:57  
标签:x86 手把手 惊艳 remi el8 ECS 64 php 安装


手把手教你在阿里云ECS上搭建惊艳的博客

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

网站软件的选择

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

网站空间的选择

  • 首先得有一个网上的空间,用于存放自己的网站。现在各种云都有相应的服务,一年也没多少钱,现在一般都有活动,如果是新用户建议买三年的。
  • 建议选择有名、大厂的
  • 我用的阿里云的ECS,也推荐你试试,阿里云也有“试用装”:
  • 个人的两核4G基本够用了,正好试用的列表里也有,试用一下:

环境准备

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

安装PHP8

首先更新一下

dnf upgrade

查看当前dnf库中的php版本

dnf list php

首先安装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,无需单独安装。

列出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

安装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,等待安装完成。

安装php-mysql扩展

  • 逐一执行下面命令安装扩展
dnf install php-mysql
dnf install php-gd
dnf install php-imagick
dnf install php-zip

验证安装

  • 输入命令查看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

查看dnf库中mysql版本

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

安装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等待安装完成。

配置

  • 启动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!

为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

查看dnf库中Nginx版本

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

安装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等待安装完成。

查看防火墙

  • 查看是否已开放80端口,修改防火墙设置。某云需要修改安全组设置。
firewall-cmd --query-port=80/tcp
  • 若返回no则未开放。开放80端口命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent
  • 使设置生效:
firewall-cmd --reload

访问默认网站验证安装

  • 启动nginx
systemctl start nginx
  • 查看运行状态
systemctl status nginx
  • 会看到包含“ Active: active (running)”字样的成功提示。设置开机自动启动
systemctl enable nginx

启用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

访问网站目录

  • nginx的默认网站目录在/usr/share/nginx/html/,访问并验证一下
cd /usr/share/nginx/html/
ll
  • 可以看到两个html文件,即默认的“Welcome to nginx!”页面。
-rw-r--r--. 1 root root 494 5月  25 09:41 50x.html
-rw-r--r--. 1 root root 612 5月 25 09:41 index.html
  • 可以删除默认的index.html文件
rm -r index.html
  • 询问是否删除,输入y回车即可。

下载安装包

  • 安装下载和解压工具,如果已安装则忽略
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/

开始安装

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


标签:x86,手把手,惊艳,remi,el8,ECS,64,php,安装
From: https://blog.51cto.com/u_15903793/5918689

相关文章

  • 手把手教你在服务器上用YOLOv4训练和测试数据集(保姆级) 转载
    如果希望先训练PASCALVOC数据集,可以按顺序阅读,如果想直接训练自己的数据集,可以先看编译darknet部分,然后直接跳到训练自己的数据集部分。yolov4出来有一段时间了,我也用yo......
  • AfterCodecs Win中英双语下载
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【0031】即可获取下载链接。......
  • 手把手教你在macOS系统下启动Jupyter Notebook
    大家好,我是皮皮。一、前言前面我们已经安装好了Anaconda,那么伴随着Anaconda的安装,JupyterNotebook也会被安装好,接下来教大家如何在JupyterNotebook下执行Python代码,这......
  • 利用Python手把手带上实现冒泡排序
    前言之前写过一篇关于Python算法分析的文章--《​​利用Python浅尝算法分析​​》,想要学好计算机,数据结构和算法几乎是无法回避的课题,因为我们学习编程第一节课老师都会......
  • 手把手教你MacOS系统下Anaconda的安装和配置
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【110】问了一个关于Python安装的问题,但是她的计算机是苹果的,这倒是有点难为小白的,后来我远程帮她安装搞定的,这里......
  • 手把手教你如何实现大量图片的自适应图片页面的排列
    前言最近在开发一个批量展示图片的页面,图片的自适应排列是一个无法避免的问题在付出了许多头发的代价之后,终于完成了图片排列,并封装成组件,最终效果如下:1、设计思路为了使结......
  • 最新的swoole-cli已可以支持Windows,手把手带你在windows体验swoole
    前言想必使用PHP作为开发语言的童鞋应该都听说过swoole,大致都知道swoole是什么.Swoole使PHP开发人员可以编写高性能高并发的TCP、UDP、UnixSocket、HTTP、WebSocket......
  • Android手把手,发布开源组件至 MavenCentral仓库
    一前言有时候,在我们写了一个组件想将之开源给更多人分享和使用时,就需要我们发布开源组件到公开的远程仓库,如Jitpack、JenCenter、MavenCentral。其中,MavenCentral是最......
  • ECS服务器Docker安装及测试
    Docker有两个分支版本:DockerCE和DockerEE,即社区版和企业版。本教程基于CentOS7安装DockerCE。 执行如下命令,安装Docker的依赖库。 yuminstall-yyum-utilsdev......
  • ECS kdevtmpfsi
    服务器不出意外的话还是出意外了。一条条短信警告发过来,我就知道,又被攻击了。当然,咱也不是搞网安的,对网络和服务器认识颇浅,只能简单排查下问题。top命令一瞅,发现个CPU占%......