斥资288买了三年服务器之后应该如何配置

简介: 斥资288买了三年服务器之后应该如何配置

前言

阿里云95块钱买的ECS要到期了,续费的话需要1000多。想了想服务器上也没啥重要的东西,于是趁着腾讯云折扣,花了288买了个三年的CVM。CVM就是一个云虚拟机,这里就暂且叫它服务器。

1核2G,看起来啥也干不了。但是作为测试环境,其实还是能做很多事情的。买之前,周围的人劝我安装虚拟机,但实在是不想天天开着VMware,而且也不想折腾自己的电脑,所以,288花的不亏!

image.png

既然是新的服务器,必要的开发环境还是得要搞一下,所以这篇文章主要记录操作。顺便提一下,操作系统是CentOS7。

主机操作

建立互信

每次在笔记本上通过ssh登录云服务器的时候,都要输入密码,这就很烦,所以建立互信实现免密登录还是很有必要的。

我用的是MacBook,这里代号A,服务器代号B,将A中~/.ssh目录下id_rsa.pub中内容(即公钥),拷贝到B主机的~/.ssh目录下的authorized_keys文件中,即可建立互信,实现ssh免密登陆。

.ssh目录结构如下:

image.png

如果没有公钥的话,可以使用下面命令生成。

ssh-keygen -t rsa -f ~/.ssh/id_dsa -P ""

再如果,我就不想通过粘贴复制的方法将公钥放到B主机上去,那么可以使用下面命令将公钥内容追加到authorized_keys中。

ssh-copy-id root@172.27.xxx.xxx

以上两种方法,均可实现互信。

修改hostname

无论是腾讯云还是阿里云,都会默认生成hostname。

image.png

hostname可以通过以下两种方法修改成自己想要的。

# 1.方法一
vi /etc/hostname
# 写入CodeOnTheRoad,:wq保存退出
hostname -F /etc/hostname
# 2.方法二
hostname -b CodeOnTheRoad

上面操作二选一,然后退出重新登陆,修改生效:

image.png

设置安全组

删除原有的安全组,配置新的安全规则只开放一些常用的端口。

image.png

如果想一劳永逸的话,可以开放所有端口。

开发环境

Java

官网下载linux系统的JDK。

# 将下载的jdk放在/usr/local中,解压
tar zxvf jdk1.8.0_131.tar.gz 
vi /etc/profile
# 在文件末尾添加下面两行
export JAVA_HOME=/usr/local/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin
# 刷新配置文件
source /etc/profile

可以编辑~/.bash_profile只配置当前用户的java环境。

测试是否安装成功:

image.png

Python

# 在make install的时候,根据提示缺啥安啥
yum -y intall zlib zlib-devel libffi-devel tk-devel
# 下载
wget https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz
tar xvf Python-3.9.4.tar.xz 
cd Python-3.9.4
# 生成Makefile、编译安装
./configure --prefix=/usr/local/python3.9 --enable-optimizations
make & make install

进入/usr/local/bin目录,通过软连接设置全局命令。

ln -s /usr/local/python3.9/bin/python3 python3
ln -s /usr/local/python3.9/bin/pip3 pip3

输入python3,测试是否安装成功: image.png

~/pip/pip.conf中已经配置了下载镜像,ECS是阿里云镜像,CVM是腾讯云镜像,所以我们无需自行配置。 image.png

docker

# 安装
yum -y install docker
# 启动
systemctl start docker.service
# 开机自启动
systemctl enable docker.service
# 验证
docker info

git

这里我配置的是gitee码云。

yum -y install git

登录gitee,进入设置,将linux的id_rsa.pub中的公钥添加到SSH公钥中。 image.png

使用ssh命令测试:

ssh -T git@gitee.com

测试结果如下即为配置成功: image.png

应用软件

mysql

# 安装
yum -y install mysql-community-server
# 启动
systemctl start mysqld

输入mysql进入,设置密码:

set password for 'root'@'%' = password('1qaz@WSX');

每次登陆都要通过-p指定密码好麻烦的说,所以这里要配置数据库免密登录:在用户目录下创建.my.cnf文件,添加以下内容。

[client]
  host=localhost
  user='root'
  password='your password'

配置免密前后测试:

image.png

redi

wget https://download.redis.io/releases/redis-6.2.2.tar.gz
 tar zxvf redis-6.2.2.tar.gz 
 cd redis-6.2.2
 make

编译完成之后,进入src目录,你会发现多了redis开头的命令。新建一个redis目录,新建bin和confi子目录,将src中redis命令mv到bin中。 image.png

redis.conf放到conf中。此时,可以删除之前的源文件目录。

进入bin,在不修改任何配置的情况下,启动redis单节点进行测试。

./redis-server ../conf/redis.conf  &
./redis-cli 
# 测试
127.0.0.1:6379> set test 1
OK
127.0.0.1:6379> get test
"1"

nginx

# 下载
wget http://nginx.org/download/nginx-1.20.0.tar.gz
tar zxvf nginx-1.20.0.tar.gz
# 生成Makefile
cd nginx-1.20.0
./configure --prefix=/usr/local/nginx
# 编译安装
make & make install

在生成nginx的Makefile的时候,如果提示http_rewrite_module模块因为缺少pcre依赖而失败。可以采取以下两种解决方法:

方法一:禁用模块

./configure --prefix=/usr/local/nginx --without-http_rewrite_module

方法二:安装pcre

# 下载pcre
wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.bz2
tar xvf pcre-8.44.tar.bz2 
# 生成Makefile时指定pcre
./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.44

通过以上两种方法,可以解决pcre依赖的问题,从而成功生成Makefile完成编译

tomcat

下载解压即可,后续可根据需要进行配置启动。

wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.65/bin/apache-tomcat-8.5.65.tar.gz
tar zxvf apache-tomcat-8.5.65.tar.gz

结论

以上就是我比较常用的一些开发环境和应用软件,至于基于docker配置nginx负载均衡之前写过一篇文章,如果大家对基于docker安装redis cluster有兴趣的话,后面也会单独写一篇。

深夜一点,窗外依旧灯火阑珊。星光点点,道一声晚安。愿一夜春眠好梦,期待下一次相遇。



95后小程序员,写的都是日常工作中的亲身实践,置身于初学者的角度从0写到1,详细且认真。文章会在公众号 [入门到放弃之路] 首发,期待你的关注。


相关文章
|
2天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1517 4
|
29天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
5天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
492 19
|
2天前
|
存储 SQL 关系型数据库
彻底搞懂InnoDB的MVCC多版本并发控制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
179 1
|
8天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
21天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
9天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
448 5
|
7天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
314 2
|
23天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
25天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2608 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析