前言
阿里云95块钱买的ECS要到期了,续费的话需要1000多。想了想服务器上也没啥重要的东西,于是趁着腾讯云折扣,花了288买了个三年的CVM。CVM就是一个云虚拟机,这里就暂且叫它服务器。
1核2G,看起来啥也干不了。但是作为测试环境,其实还是能做很多事情的。买之前,周围的人劝我安装虚拟机,但实在是不想天天开着VMware,而且也不想折腾自己的电脑,所以,288花的不亏!
既然是新的服务器,必要的开发环境还是得要搞一下,所以这篇文章主要记录操作。顺便提一下,操作系统是CentOS7。
主机操作
建立互信
每次在笔记本上通过ssh登录云服务器的时候,都要输入密码,这就很烦,所以建立互信实现免密登录还是很有必要的。
我用的是MacBook,这里代号A,服务器代号B,将A中~/.ssh目录下id_rsa.pub中内容(即公钥),拷贝到B主机的~/.ssh目录下的authorized_keys文件中,即可建立互信,实现ssh免密登陆。
.ssh目录结构如下:
如果没有公钥的话,可以使用下面命令生成。
ssh-keygen -t rsa -f ~/.ssh/id_dsa -P ""
再如果,我就不想通过粘贴复制的方法将公钥放到B主机上去,那么可以使用下面命令将公钥内容追加到authorized_keys中。
ssh-copy-id root@172.27.xxx.xxx
以上两种方法,均可实现互信。
修改hostname
无论是腾讯云还是阿里云,都会默认生成hostname。
hostname可以通过以下两种方法修改成自己想要的。
# 1.方法一 vi /etc/hostname # 写入CodeOnTheRoad,:wq保存退出 hostname -F /etc/hostname # 2.方法二 hostname -b CodeOnTheRoad
上面操作二选一,然后退出重新登陆,修改生效:
设置安全组
删除原有的安全组,配置新的安全规则只开放一些常用的端口。
如果想一劳永逸的话,可以开放所有端口。
开发环境
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环境。
测试是否安装成功:
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,测试是否安装成功:
~/pip/pip.conf中已经配置了下载镜像,ECS是阿里云镜像,CVM是腾讯云镜像,所以我们无需自行配置。
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公钥中。
使用ssh命令测试:
ssh -T git@gitee.com
测试结果如下即为配置成功:
应用软件
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'
配置免密前后测试:
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中。
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,详细且认真。文章会在公众号 [入门到放弃之路] 首发,期待你的关注。