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

打印 上一主题 下一主题

主题 907|帖子 907|积分 2721

一、前言

大家好呀,我是summo,前面我已经写了我为啥要做这个摸鱼小网站的原因,从这篇文章开始我会一步步跟大家聊聊我是怎么搭起这个网站的。我知道对很多新手来说,建网站可能挺头大的,不知道从那里开始,所以我会尽量写得简单明确,让大家一看就懂,少走弯路。
咱们先从买服务器开始提及。现在阿里云好像还有免费试用,对新手来说挺划算的。不外不管你是免费用还是掏钱买,拿到服务器后的第一件事,就是得把环境给整利索了。这就跟新房子装修一样,基础打好了,后面的事儿才能顺顺利利。对于我们这个摸鱼小网站来说,必须要的环境是JDK、Redis、MySQL,怎么搭建这些环境网上文章一大堆,但总是这有问题那有问题,所以我也写一份,出问题我们评论区交换。
二、购买云服务器(又称Elastic Compute Service, ECS)

点这个链接可以进入阿里云的官方网站,我买的是2核2G,3M固定带宽这种,一年99,一连3年。这里有一个点要留意下,我选的镜像是CentOS 7.9 64位,差别镜像安装环境的方式也有点差别,比如Centos一样平常使用yum下载安装包而Ubuntu使用apt-get,虽然大要上都差不多但是我只认识Centos。假如不懂这些的话,最好跟我选一样的吧。


假如你想先试用的话,滑到底部可以找到

买好之后,进入ECS控制台,可以找到你刚买的那台实例。我们可以看到,它有两个IP,私有IP和公网IP,公网IP是可以ping通的,假如到时间你的网站做好,就可以把这个公网IP分享给你的朋友,他们就可以直接访问你的网站啦。

点击远程连接可以远程登录到服务器上,进入控制界面后就可以开始部署你的环境啦!


第一次登录的时间需要设置一下密码,后面假如密码忘记了,也可以在这边重置密码。
三、安装jdk

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

  1. yum list |grep java-1.8.0
复制代码

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

  1. yum install java-1.8.0-openjdk-devel.x86_64 -y
复制代码

   下载下来之后它会自动安装,环境变量都不消管,不消配这配那的,很方便。
  3. 检察JDK环境

  1. java -version
复制代码

四、安装Redis

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

  1. sudo yum install epel-release -y
  2. sudo yum update -y
  3. sudo yum install redis -y
复制代码
2. 启动Redis服务并设置开机自启

  1. sudo systemctl start redis
  2. sudo systemctl enable redis
复制代码
3. 验证Redis是否正在运行

  1. redis-cli ping
复制代码

4. 远程连接Redis

我们都知道Redis的端口是6379,虽然服务器上Redis启动了,但是当地目前还是无法连接的,想要当地连接Redis,还需要一些设置。

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

  1. ## 打开Redis配置文件
  2. vim /etc/redis.conf
复制代码
找到下面这三个参数:
  1. ## 绑定允许访问的ip
  2. bind 127.0.0.1
  3. ## 保护模式开
  4. protected-mode yes
  5. ## 请求访问的密码
  6. #requirepass yourpassword
复制代码
一二项是组合项,尤为紧张,第三项就是设置密码,可以起到权限认证的作用。修改为如下:
  1. ## 直接将这行注释掉
  2. #bind 127.0.0.1
  3. ## 关闭保护模式
  4. protected-mode no
  5. ## 设置你的密码
  6. requirepass xxx
复制代码
末了重启Redis
  1. systemctl restart redis.service
复制代码
(2)服务器防火墙上开放6379端口

  1. ## 查看防火墙状态
  2. sudo systemctl status firewalld
  3. ## 打开防火墙
  4. sudo systemctl start firewalld
  5. ## 开启6379对外访问
  6. sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent
  7. ## 重启防火墙
  8. sudo firewall-cmd --reload
  9. ## 查看当前对外访问的端口
  10. sudo firewall-cmd --zone=public --list-ports
复制代码

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

点击管理规则

点击快速添加选择Redis,末了点击确定

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

RedisInsight(推荐使用)
五、安装MySQL8.0

数据库对于我们这个摸鱼小网站来说是最为紧张的,但是它的安装也是最为复杂。我也搜了不少资料,还是才踩了不少坑,假如大家实在是搞不定,发起大家直接用阿里云谁人免费3个月使用的RDS,效果更好。
1. 下载MySQL8.0

执行下载命令
  1. ## 创建MySQL目录
  2. mkdir /usr/local/mysql
  3. ## 切换到MySQL目录
  4. cd /usr/local/mysql
  5. ## 下载MySQL安装包
  6. wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar
  7. ## 解压MySQL安装包
  8. tar -xvf mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar
复制代码

2. 准备安装环境

依次运行如下命令:
  1. yum update -y
  2. yum install -y libaio
  3. yum install -y net-tools
  4. yum install openssl-devel.x86_64 openssl.x86_64 -y
  5. yum -y install autoconf
  6. yum install perl.x86_64 perl-devel.x86_64 -y
  7. yum install perl-JSON.noarch -y
  8. yum install perl-Test-Simple -y
复制代码
mariadb要卸载掉不然后面安装也会报错,不知道啥原因,查询已经安装的mariadb
  1. ## 'xxxx’代表 rpm -qa | grep mariadb 展示出来所有名字,有多个,则重复删除多次
  2. rpm -qa | grep mariadb
  3. ## 务必删除干净
  4. rpm -e --nodeps 文件名
复制代码
以上命令是解决安装mysql8时的依靠环境问题。(假如以上命令运行失败可能会影响接下来的安装)
3. 安装MySQL8

在/usr/local/mysql8目次下,依次运行以下几个命令,安装MySQL8,留意如下命令运行顺序不能颠倒,必须严酷按照以下顺序运行:
  1. rpm -ivh mysql-community-common-8.0.35-1.el7.x86_64.rpm   
  2. rpm -ivh mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm
  3. rpm -ivh mysql-community-libs-8.0.35-1.el7.x86_64.rpm
  4. rpm -ivh mysql-community-client-8.0.35-1.el7.x86_64.rpm
  5. rpm -ivh mysql-community-icu-data-files-8.0.35-1.el7.x86_64.rpm
  6. rpm -ivh mysql-community-server-8.0.35-1.el7.x86_64.rpm
  7. rpm -ivh mysql-community-libs-compat-8.0.35-1.el7.x86_64.rpm
  8. rpm -ivh mysql-community-embedded-compat-8.0.35-1.el7.x86_64.rpm
  9. rpm -ivh mysql-community-devel-8.0.35-1.el7.x86_64.rpm  
复制代码
4. 设置设置文件

编辑/etc/my.cnf文件,可以为MySQL设置如下参数(按现实需求选择即可)
  1. [mysqld]
  2. # 设置 MySQL 服务运行的端口号
  3. port = 3306
  4. # 指定 MySQL 数据库的默认字符集
  5. character-set-server=utf8mb4
  6. # 允许外部访问
  7. bind-address=0.0.0.0
  8. # 设置client连接mysql时的字符集,防止乱码
  9. init_connect='SET NAMES utf8mb4'
  10. # 设置 MySQL 允许访问的最大连接数
  11. max_connections = 1000
  12. # 指定MySQL服务器存储数据文件的目录
  13. datadir=/var/lib/mysql
  14. # 是否对sql语句大小写敏感,1表示不敏感
  15. lower_case_table_names = 1
  16. # 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
  17. transaction_isolation = READ-COMMITTED
  18. # TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
  19. explicit_defaults_for_timestamp = true
复制代码
5. 目次授权

  1. chown -R mysql:mysql /var/lib/mysql/
复制代码
6. 启动MySQL

  1. ## 启动MySQL
  2. systemctl start mysqld.service
  3. ## 查看MySQL状态
  4. systemctl status mysqld.service
  5. ## 设置开启自启动
  6. systemctl enable mysqld
复制代码

7. 连接MySQL

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

启动mysql后会生成一个临时密码,使用此命令可以查询到临时密码,
  1. grep "A temporary password" /var/log/mysqld.log
复制代码

使用这个密码登录到MySQL内里,登录命令为mysql -u root -p 按enter后输入刚才看到的临时密码。
进去后,我们为root用户设置一个新的密码,命令如下:
  1. # 修改密码,注意密码强度校验,这里把密码设置为 xxx(你的密码)
  2. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxx(你的密码)';
  3. # 刷新权限
  4. FLUSH PRIVILEGES;
复制代码
设置允许root远程登录
  1. UPDATE mysql.user SET host='%' WHERE user='root';
  2. FLUSH PRIVILEGES;
复制代码
(2)服务器防火墙上开放3306端口

  1. ## 开启6379对外访问
  2. sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
  3. ## 重启防火墙
  4. sudo firewall-cmd --reload
  5. ## 查看当前对外访问的端口
  6. sudo firewall-cmd --zone=public --list-ports
复制代码

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

点击快速添加选择MySQL,末了点击确定

8. 连接工具

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

曾多少时,安装环境和搭脚手架是我最害怕的事,太多的知识盲区,失败不知道原因,这玩意就算别人文档写的再细致,轮到自己安装时却总是遇到奇奇怪怪问题,偶然都怀疑自己是不是BUG体质。在这里我提示大家一下,假如是新手,安装环境时千万别给自己加戏,思量这思量那,这个不安全谁人要个性一点,千万别这样搞,失败千万次不如成功一次!
我这次的安装教程是直接在服务器上利用的,安装包都是用命令下载的,出问题的概率应该不大,有问题评论区交换。正如开篇所说这就跟新房子装修一样,基础打好了,后面的事儿才能顺顺利利。不要心急,工程化相比于研究源码故意思多了,获得感很强。全军出动,大家加油!
大多数同学大多数时间都只是在干CRUD的活,也没有独立建站的经验,虽然没有但是可以学!现在不会练练就会!100块钱的实操经验绝对比100块钱买的专栏更故意义更有用!
   末了,自建摸鱼网站,各大网站热搜一览,上班和摸鱼很配哦!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表