云服务器基础设置

云服务器基础设置

DeBill Lv2

前言

最近我的云服务器快到期了,之前用特价买的服务器今年再续费时价格太离谱 😅,所以又买了些新的服务器将服务迁移到新服务器上。迁移的过程发现配置一台新服务器还是有不少工作的,特此记录一下分享给大家,也方便后期入手新服务器时进行查阅。

正好现在是双十一期间,各大云厂商都在做活动,我对比了很多家云厂商,似乎只有京东云支持 3 年续费,我就买了 3 年的服务器,以后不用每年都折腾一次了。感兴趣的朋友可以扫下面的二维码购买

京东云SKU

购买二维码

基础配置

修改 SSH 密码

一般从云服务商获取到一台新的服务器后都会给你一个默认的 SSH 登录密码,我们要修改这个密码,一般后台管理界面就能修改

jd-ssh-key

使用密钥方式访问服务器

修改完密码后,我们就能通过终端用新密码访问,但是用密码访问服务器安全性不高,最好使用密钥进行访问。我们在管理界面申请一个密钥,注意!这个私钥一定要保存好,如果丢了或者忘了那就在后台重新生成后再配置

jd-new-sshkey

防火墙设置

一般服务器会默认打开,80(Http 端口)、443(Https 端口)和 22 端口(SSH 端口),如果你想打开其他端口(例如 8080,9090 等端口)记得要在防火墙中设置,以免访问不到应用

jd-firewall

包管理软件更新和添加源

不同的 Linux 发行版本使用的不用的包管理工具,博主使用的 Debian 12 使用 apt 进行包管理,厂商给我服务器的时候也默认安装 apt,这里给他简单升级+更换它的镜像源(境内服务器需要换一下,懂的都懂)

1
apt update

访问/etc/apt/sources.list文件,将里面内容都替换成阿里的镜像源

1
2
3
4
5
6
7
8
deb http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb http://mirrors.aliyun.com/debian-security buster/updates main
deb-src http://mirrors.aliyun.com/debian-security buster/updates main
deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib

命令安装

服务器可能缺少一些常用命令,我的这台机器就缺了sudo

1
apt install sudo

设置快捷键

我习惯使用ll代表ls -lts,cdh代表cd /home,所以给他们设置一下快捷键.

1.打开配置文件

1
vim ~/.bashrc

2.添加别名

1
2
alias ll='ls -alt'
alias cdh='cd /home'

更改完后保存退出

3.配置生效

更改完了别忘了让配置立马生效

1
source ~/.bashrc

然后就验证一下设置的快捷键是否生效

软件安装

接着我们安装一些必要的软件

Git

安装 Git 方便我们拉取得 GitHub 上的项目

1
apt install git

安装查看是否安装成功

1
2
root@:~# git --version
git version 2.39.5

Docker

有了 Docker 方便我们部署各种应用,这里就不详细介绍了,搜一搜各种教程都有,安装成功后我们检查一下

1
2
3
4
5
6
7
8
9
root@:~# docker version
Client: Docker Engine - Community
Version: 26.1.3
API version: 1.45
Go version: go1.21.10
Git commit: b72abbb
Built: Thu May 16 08:33:29 2024
OS/Arch: linux/amd64
Context: default

安装好了 Docker 记得要更换 Docker 的库的源地址,毕竟是境内的服务器,懂得都懂。进入/etc/docker/daemon.json,如果没这个文件新建我这里用的是https://docker.m.daocloud.io的源,你也可以换成任何你喜欢的源

1
2
3
4
5
6
root@~:/etc/docker# cat daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}

完成后重启一下服务

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

Nginx

nginx 基本是必装软件之一,用于做前后端静态分离和负载均衡

1
apt install nginx

安装完后查看是否安装成功,有需要可以到/etc/nginx/nginx.conf修改配置

1
2
root@:~# nginx -v
nginx version: nginx/1.22.1

数据库(可选)

博主安装的是 MySql-8.4.2 版本,安装的过程中发现使用 apt 安装包怎么都装不上,索性使用安装包安装,每台服务器操作系统不同,安装过程仅供参考。

1.安装依赖

1
apt -y install xz-utils libaio1 libnuma1 libncurses5 libncurses6

2.下载 mysql-8.4.2 安装包

1
wget https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.2-linux-glibc2.28-x86_64.tar.xz

解压后将文件夹移动到/usr/local/mysql目录下

1
tar -xvf mysql-8.4.2-linux-glibc2.28-x86_64.tar.xz
1
mv mysql-8.4.2-linux-glibc2.28-x86_64 /usr/local/mysql

3.新建目录和文件

新建一个 log 目录和 data 目录

1
mkdir /usr/local/mysql/log
1
mkdir /usr/local/mysql/data

新建my.cnf配置文件,这里要特别说明一些参数。

  • port: 端口尽量不要用默认的 3306,使用其他端口,避免被别人爆破
  • performance_schema: mysql 的数据库分析功能开关,默认开启,关闭后可以节省 200M左右的内存,很多人都不知道这个参数,建议关闭
  • skip-name-resolve:允许客户端用 ip 连接数据库,不会出现 warning 日志
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[mysql]
# 客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# === 基础配置 ===
# 绑定ipv4地址,默认*绑定ipv4与ipv6
bind-address=0.0.0.0
# 端口号
port=23306
# 服务端使用的字符集
character-set-server=utf8mb4
# 数据库排序字符集
collation_server=utf8mb4_general_ci
# 服务器在关闭交互式连接之前等待活动的秒数,默认28800(8小时)
interactive_timeout=7200
# 服务器关闭非交互连接之前等待活动的秒数,默认28800(8小时)
wait_timeout=3600
# 写入错误日志的消息以及写入文件的常规查询日志和慢速查询日志消息中的时间戳的时区,默认UTC时间,SYSTEM代表取系统时间
log_timestamps=SYSTEM
# 最大允许数据包
max_allowed_packet=1073741824
# 关闭MySQLx(一般情况下用不到)MySQL5.7不支持此选项,使用时需要注释此配置
mysqlx=0
# === 基础目录 ===
# 安装目录
basedir=/usr/local/mysql
# 数据库的数据的存放目录
datadir=/usr/local/mysql/data
innodb_data_home_dir=/usr/local/mysql/data
innodb_data_file_path=ibdata1:10M:autoextend
# === 日志相关 ===
## >>> 慢查询日志
# 开启慢查询日志,默认OFF,建议开发和测试环境开启
slow_query_log=ON
# 慢查询日志文件位置
slow_query_log_file=/usr/local/mysql/log/log-slow.log
# 慢查询时间阈值,默认10,单位:秒
long_query_time=1
## >>> 错误日志
# 错误日志存放文件,默认 datadir 目录下
log_error=/usr/local/mysql/log/log-error.log
# 开启事务中所有死锁的InnoDB信息记录在错误日志中
innodb_print_all_deadlocks=ON
## >>> 二进制日志
# 二进制日志文件基础名称以及路径,默认 datadir 目录下
log_bin=/usr/local/mysql/log/log-bin
## >>> 中继日志,主从复制时,从机需要配置
# 中继日志文件位置,默认 datadir 目录下
#relay_log=/usr/local/mysql/log/log-rela
#关闭performance_schema参数减少内存占用
performance_schema=OFF
skip-name-resolve

4.设置环境变量
/etc/profile文件最后添加以下内容:

1
export MYSQL_HOME=/usr/local/mysqlexport PATH=$PATH:$MYSQL_HOME/bin

让配置生效

1
source /etc/profile

编程语言(可选)

我发现大多数服务器都给大家默认安装了Python,其他编程语言看个人需求安装,这里以安装 JDK 为例,给大家演示安装过程。

装好了 apt 直接一行命令就可以安装成

1
2
3
4
5
6
7
8
#安装openjdk17
root@:~# apt install openjdk-17-jdk

#查看JDK安装是否成
root@:~# java -version
openjdk version "17.0.13" 2024-10-15
OpenJDK Runtime Environment (build 17.0.13+11-Debian-2deb12u1)
OpenJDK 64-Bit Server VM (build 17.0.13+11-Debian-2deb12u1, mixed mode, sharing)

总结

一台新服务器初始化配置下来至少也要好几个小时,一年折腾一次也很麻烦,正好这次京东云做活动有 3 年的服务器,我就买了一台。如果你有什么服务器使用经验,欢迎到评论留言分享

  • 标题: 云服务器基础设置
  • 作者: DeBill
  • 创建于 : 2024-11-18 11:45:14
  • 更新于 : 2025-01-09 23:09:41
  • 链接: https://debill.me//build-a-site/cloud-server-setup/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论