前言
阿里雲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'
配置免密前后測試:
redis
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,詳細且認真。文章會在公眾號 [入門到放棄之路] 首發,期待你的關注。