《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

sum墨
• 阅读 243

⭐️基础链接导航⭐️

服务器 → ☁️ 阿里云活动地址

看样例 → 🐟 摸鱼小网站地址

学代码 → 💻 源码库地址

一、前言

大家好呀,我是summo,前面我已经写了我为啥要做这个摸鱼小网站的原因,从这篇文章开始我会一步步跟大家聊聊我是怎么搭起这个网站的。我知道对很多新手来说,建网站可能挺头大的,不知道从哪里开始,所以我会尽量写得简单明了,让大家一看就懂,少走弯路。

咱们先从买服务器开始说起。现在阿里云好像还有免费试用,对新手来说挺划算的。不过不管你是免费用还是掏钱买,拿到服务器后的第一件事,就是得把环境给整利索了。这就跟新房子装修一样,基础打好了,后面的事儿才能顺顺利利。对于我们这个摸鱼小网站来说,必须要的环境是JDK、Redis、MySQL,怎么搭建这些环境网上文章一大堆,但总是这有问题那有问题,所以我也写一份,出问题我们评论区交流。

二、购买云服务器(又称Elastic Compute Service, ECS)

点这个链接可以进入阿里云的官方网站,我买的是2核2G,3M固定带宽这种,一年99,持续3年。这里有一个点要注意下,我选的镜像是CentOS 7.9 64位,不同镜像安装环境的方式也有点不同,比如Centos一般使用yum下载安装包而Ubuntu使用apt-get,虽然大体上都差不多但是我只熟悉Centos。如果不懂这些的话,最好跟我选一样的吧。 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

如果你想先试用的话,滑到底部可以找到 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

买好之后,进入ECS控制台,可以找到你刚买的那台实例。我们可以看到,它有两个IP,私有IP公网IP,公网IP是可以ping通的,如果到时候你的网站做好,就可以把这个公网IP分享给你的朋友,他们就可以直接访问你的网站啦。 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

点击远程连接可以远程登录到服务器上,进入控制界面后就可以开始部署你的环境啦! 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

第一次登录的时候需要设置一下密码,后面如果密码忘记了,也可以在这边重置密码。

三、安装jdk

JDK的话呢我就不装最近流行的17和21了,还是使用我们的老朋友JDK8吧,在Windows上安装JDK是比较麻烦的,还有环境变量什么的,但是在Centos7上安装是很方便的,不用担心,别看那些野文档就行。

1. 查看JDK版本

yum list |grep java-1.8.0

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

可以看到可选版本还是很多的,我们下载java-1.8.0-openjdk-devel.x86_64这个。

2. 下载JDK

yum install java-1.8.0-openjdk-devel.x86_64 -y

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

下载下来之后它会自动安装,环境变量都不用管,不用配这配那的,很方便。

3. 查看JDK环境

java -version

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

四、安装Redis

Redis的安装也很简单,几行命令就搞定了,跟着我的步骤来,大概率不会出现什么问题。

1. 下载Redis

sudo yum install epel-release -y
sudo yum update -y
sudo yum install redis -y

2. 启动Redis服务并设置开机自启

sudo systemctl start redis
sudo systemctl enable redis

3. 验证Redis是否正在运行

redis-cli ping

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

4. 远程连接Redis

我们都知道Redis的端口是6379,虽然服务器上Redis启动了,但是本地目前还是无法连接的,想要本地连接Redis,还需要一些设置。 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

(1)修改Redis配置支持公网访问

## 打开Redis配置文件
vim /etc/redis.conf

找到下面这三个参数:

## 绑定允许访问的ip
bind 127.0.0.1
## 保护模式开
protected-mode yes
## 请求访问的密码
#requirepass yourpassword 

一二项是组合项,尤为重要,第三项就是设置密码,可以起到权限认证的作用。修改为如下:

## 直接将这行注释掉
#bind 127.0.0.1
## 关闭保护模式
protected-mode no
## 设置你的密码
requirepass xxx

最后重启Redis

systemctl restart redis.service

(2)服务器防火墙上开放6379端口

## 查看防火墙状态
sudo systemctl status firewalld
## 打开防火墙
sudo systemctl start firewalld
## 开启6379对外访问
sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent
## 重启防火墙
sudo firewall-cmd --reload
## 查看当前对外访问的端口
sudo firewall-cmd --zone=public --list-ports

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

只在服务器上开放6379端口还是不行的,还需要在阿里云ECS平台修改一下安全组规则,这个东西很多同学都不太清楚,我简单说一下:ECS安全组就是防止大家乱开放端口导致自己的服务被攻击,给大家做的一个兜底保护。

(3)阿里云安全组配置6379端口

点击管理规则 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

点击快速添加选择Redis,最后点击确定 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

很简单,对不对!但是如果我不说一下的话,大家很有可能半天都不知道为啥自己的Redis连接不上,关于这个安全组,还有些东西要注意,比如授权IP为0.0.0.0就是对所有网段都生效,后面还会经常配置,遇到了再说。

5. 连接工具

RedisInsight(推荐使用)

五、安装MySQL8.0

数据库对于我们这个摸鱼小网站来说是最为重要的,但是它的安装也是最为复杂。我也搜了不少资料,还是才踩了不少坑,如果大家实在是搞不定,建议大家直接用阿里云那个免费3个月使用的RDS,效果更好

1. 下载MySQL8.0

执行下载命令

## 创建MySQL目录
mkdir /usr/local/mysql

## 切换到MySQL目录
cd /usr/local/mysql

## 下载MySQL安装包
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar

## 解压MySQL安装包
tar -xvf mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

2. 准备安装环境

依次运行如下命令:

yum update -y

yum install -y libaio
yum install -y net-tools
yum install openssl-devel.x86_64 openssl.x86_64 -y

yum -y install autoconf
yum install perl.x86_64 perl-devel.x86_64 -y
yum install perl-JSON.noarch -y
yum install perl-Test-Simple -y

mariadb要卸载掉不然后面安装也会报错,不知道啥原因,查询已经安装的mariadb

## 'xxxx’代表 rpm -qa | grep mariadb 展示出来所有名字,有多个,则重复删除多次
rpm -qa | grep mariadb

## 务必删除干净
rpm -e --nodeps 文件名

以上命令是解决安装mysql8时的依赖环境问题。(如果以上命令运行失败可能会影响接下来的安装)

3. 安装MySQL8

在/usr/local/mysql8目录下,依次运行以下几个命令,安装MySQL8,注意如下命令运行顺序不能颠倒,必须严格按照以下顺序运行:

rpm -ivh mysql-community-common-8.0.35-1.el7.x86_64.rpm   
rpm -ivh mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.35-1.el7.x86_64.rpm 
rpm -ivh mysql-community-icu-data-files-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.35-1.el7.x86_64.rpm  

4. 设置配置文件

编辑/etc/my.cnf文件,可以为MySQL设置如下参数(按实际需求选择即可)

[mysqld]
# 设置 MySQL 服务运行的端口号
port = 3306
# 指定 MySQL 数据库的默认字符集
character-set-server=utf8mb4
# 允许外部访问
bind-address=0.0.0.0

# 设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'

# 设置 MySQL 允许访问的最大连接数
max_connections = 1000

# 指定MySQL服务器存储数据文件的目录
datadir=/var/lib/mysql

# 是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1

# 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation = READ-COMMITTED

# TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true

5. 目录授权

chown -R mysql:mysql /var/lib/mysql/

6. 启动MySQL

## 启动MySQL
systemctl start mysqld.service

## 查看MySQL状态
systemctl status mysqld.service

## 设置开启自启动
systemctl enable mysqld

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

7. 连接MySQL

(1)配置MySQL支持远程访问

启动mysql后会生成一个临时密码,使用此命令可以查询到临时密码,

grep "A temporary password" /var/log/mysqld.log

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

使用这个密码登录到MySQL里面,登录命令为mysql -u root -p 按enter后输入刚才看到的临时密码。 进去后,我们为root用户设置一个新的密码,命令如下:

# 修改密码,注意密码强度校验,这里把密码设置为 xxx(你的密码)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx(你的密码)';
# 刷新权限
FLUSH PRIVILEGES;

设置允许root远程登录

UPDATE mysql.user SET host='%' WHERE user='root';
FLUSH PRIVILEGES;

(2)服务器防火墙上开放3306端口

## 开启6379对外访问
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
## 重启防火墙
sudo firewall-cmd --reload
## 查看当前对外访问的端口
sudo firewall-cmd --zone=public --list-ports

《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

同Redis一样,还需要去阿里云的安全组中放开3306端口。

(3)阿里云安全组配置3306

点击快速添加选择MySQL,最后点击确定 《花100块做个摸鱼小网站! 》第一篇—买云服务器和初始化环境

8. 连接工具

可以选择Navicat(最好用,但收费)、DBeaver(还不错,免费)、MySQL-Front (还不错,免费)

六、小结一下

曾几何时,安装环境和搭脚手架是我最害怕的事,太多的知识盲区,失败不知道原因,这玩意就算别人文档写的再细致,轮到自己安装时却总是遇到奇奇怪怪问题,有时都怀疑自己是不是BUG体质。在这里我提醒大家一下,如果是新手,安装环境时千万别给自己加戏,考虑这考虑那,这个不安全那个要个性一点,千万别这样搞,失败千万次不如成功一次!

我这次的安装教程是直接在服务器上操作的,安装包都是用命令下载的,出问题的概率应该不大,有问题评论区交流。正如开篇所说这就跟新房子装修一样,基础打好了,后面的事儿才能顺顺利利。不要心急,工程化相比于研究源码有意思多了,获得感很强。全军出动,大家加油!

大多数同学大多数时间都只是在干CRUD的活,也没有独立建站的经验,虽然没有但是可以学!现在不会练练就会!100块钱的实操经验绝对比100块钱买的专栏更有意义更有用!

最后,自建摸鱼网站,各大网站热搜一览,上班和摸鱼很配哦!

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
2年前
手把手教你开展mofish库(摸鱼库)的打包发布
大家好,我是我是皮皮。一、前言前几天吴老板给我推荐了一个摸鱼库,竟然是Python库,给我惊了一下,感觉应缺斯汀。要知道之前他就已经写了一篇关于摸鱼的文章,感兴趣的小伙伴,可以前往:手把手教你使用Python打造一款摸鱼倒计界面。如今他把这个摸鱼做成了一个Python库,关于这个库的使用之前已经发布了文章,可以前往:盘点一个名为摸鱼的Python库,一起来
Python进阶者 Python进阶者
2年前
盘点一个名为摸鱼的Python库,一起来摸鱼吧!
大家好,我是我是皮皮。一、前言前几天吴老板给我推荐了一个摸鱼库,竟然是Python库,给我惊了一下,感觉应缺斯汀。要知道之前他就已经写了一篇关于摸鱼的文章,感兴趣的小伙伴,可以前往:如今他把这个摸鱼做成了一个Python库,这里分享给大家,确实挺有趣的,每日没事出来摸摸鱼,也好!二、使用方法首先就是安装摸鱼库了,很简单,直接在命令行中输入安装指令:pip
Stella981 Stella981
3年前
Shodan的http.favicon.hash语法详解与使用技巧
  在Shodan搜索中有一个关于网站icon图标的搜索语法,http.favicon.hash,我们可以使用这个语法来搜索出使用了同一icon图标的网站,不知道怎么用的朋友请参考我上一篇(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fmia
Stella981 Stella981
3年前
JavaScript零基础入门——(一)什么是JavaScript
JavaScript零基础入门——(一)什么是JavaScript写在前面:『Hello,大家好,我是振丹!从这节课开始,我会慢慢的带大家学习JavaScript的基础,至于进阶部分,有机会我也会专门开专题来讲。有做后端同学会说,现在微软的TypeScript开始火起来了,连Angu
sum墨 sum墨
2个月前
《花100块做个摸鱼小网站! 》第七篇—谁访问了我们的网站?
《花100块做个摸鱼小网站!》这个系列的前六篇已经大概把整体的流程写完了,从这篇起我会补充一些细节和组件,让我们的小网站更加丰富一些。这一篇呢我会介绍如何将用户的访问记录留下来,看着自己做的网站被别人访问是一件很有意思和很有成就感的事情。
sum墨 sum墨
3星期前
《花100块做个摸鱼小网站! 》第八篇—增加词云组件和搜索组件
⭐️基础链接导航⭐️服务器→看样例→学代码→一、前言大家好呀,我是summo,最近小网站崩溃了几天,原因一个是SSL证书到期,二个是免费的RDS也到期了,而我正边学习边找工作中,就没有顾得上修,不好意思哈(PS:八股文好难背,算法好难刷)。小网站的内容和组
sum墨 sum墨
3星期前
《花100块做个摸鱼小网站! 》第九篇—我的小网站被攻击了!
⭐️基础链接导航⭐️服务器→看样例→学代码→一、前言大家好呀,我是summo,最近不是被裁员了嘛,找工作又难找,老是心烦意乱的,也导致了一个多月断更,不好意思哈。虽然工作没了,但是小网站的故事却一直在发生,比如阿里云RDS到期导致我的小网站崩了一个月(已经
sum墨 sum墨
2个月前
《花100块做个摸鱼小网站! · 序》灵感来源
大家好呀,我是summo,这次来写写我在上班空闲(摸鱼)的时候做的一个小网站的事。去年阿里云不是推出了个活动嘛,2核2G的云服务器一年只要99块钱,懂行的人应该知道这个价格在业界已经是非常良心了,虽然优惠只有一年,但是买一台用来学习还是非常合适的。
sum墨 sum墨
2个月前
《花100块做个摸鱼小网站! 》第二篇—后端应用搭建和完成第一个爬虫
大家好呀,我是summo,前面已经教会大家怎么去阿里云买服务器(链接在这,需要自取),以及怎么搭建JDK、Redis、MySQL这些环境。从这篇文章开始就进入正式的编码阶段了,我们从后端开始,先把热搜数据获取到,然后再开始前端部分。
sum墨 sum墨
2个月前
《花100块做个摸鱼小网站! 》第三篇—热搜表结构设计和热搜数据存储
大家好呀,我是summo,第一篇已经教会大家怎么去阿里云买服务器,以及怎么搭建JDK、Redis、MySQL这些环境。第二篇我们把后端的应用搭建好了,并且完成了第一个爬虫(抖音)。那么这一篇我会教大家如何将爬取到的数据保存到数据库,并且可以通过接口获取到,为后面的前端界面提供数据源。