趁着優惠活動,買了個阿里雲乞丐版雲服務器,主要用來折騰學習,併為個人小程序公眾號提供少量接口需求,配置如下:
- 系統記得選: CentOS 7.9 64 位 UEFI 版
- 省流:Nginx+NodeJS+Python+Mysql
安裝 Nginx
- 運行以下命令安裝 Nginx
yum -y install nginx
- 運行以下命令查看 Nginx 版本
nginx -v
- 返回結果如下所示,表示 Nginx 安裝成功
nginx version: nginx/1.20.1
安裝 NVM
node 版本管理器
- 執行下面 bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
- 然後
source .bashrc - 查詢版本
nvm -v - 環境變量
.bash_profile也寫一份,下次啓動命令行就不用 source 了
vi .bash_profile #編輯文件
i #插入
source .bashrc #放到最後一行
esc #退出插入
:wq #退出並保存文件
安裝 NodeJS
- 可以多安裝幾個版本,這也是安裝 nvm 的目的
nvm install 14 #安裝node@14
nvm install 18 #安裝node@18
nvm install stable #安裝node最新穩定版
- 查詢版本
node -v,出現版本就安裝成功 - 切換版本
nvm use xx,查詢版本列表nvm ls
安裝 Git
- 先安裝 git
yum -y install git
- 查詢版本
git --verison,出現版本就安裝成功 - 使用 git 需要配置 ssh 密鑰,還要註冊 github,詳見Git 快速上手
安裝 pyenv
python 版本管理器
- 執行 bash 安裝 pyenv
curl https://pyenv.run | bash
- 添加 pyenv 的環境變量
vi .bashrc #編輯文件
i #插入
#粘貼下面3句放到末尾
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
esc #退出插入
:wq #退出並保存文件
source .bashrc
- 查詢版本
pyenv -v,出現版本就安裝成功
安裝 python
- 安裝 python3 之前,要先安裝相關依賴包和編譯環境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc libffi-devel
- zlib-devel:提供對 zlib 壓縮庫的支持。
- bzip2-devel:提供對 bzip2 壓縮庫的支持。
- openssl-devel:提供對 OpenSSL 加密庫的支持。
- ncurses-devel:提供對 ncurses 庫的支持,用於處理終端屏幕輸出。
- sqlite-devel:提供對 SQLite 數據庫的支持。
- readline-devel:提供對 readline 庫的支持,用於提供命令行編輯和歷史記錄功能。
- tk-devel:提供對 Tk 圖形庫的支持,用於構建 Python 圖形界面應用程序。
- gdbm-devel:提供對 GDBM(GNU 數據庫管理系統)的支持。
- db4-devel:提供對 Berkeley DB(數據庫)的支持。
- libpcap-devel:提供對 libpcap(網絡數據包捕獲庫)的支持。
- xz-devel:提供對 XZ 壓縮庫的支持。
- gcc:GNU 編譯器集合,用於編譯和構建源代碼。
- libffi-devel:提供對 libffi 庫的開發支持。
- OpenSSL 有點問題,再裝一下,然後用 pyenv 裝個 3.10.6
yum swap openssl-devel openssl11-devel
pyenv install 3.10.6
- 如果出現
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
CPPFLAGS="$(pkg-config --cflags openssl11)" \
LDFLAGS="$(pkg-config --libs openssl11)" \
pyenv install -v 3.10.6
- pyenv 安裝速度有點慢,一直超時的話也可以切換鏡像源,如下
vi .bashrc #編輯文件
i #插入
export PYENV_PYTHON_BUILD_MIRRORS="https://pypi.python.org/simple,https://jedore.netlify.app/tools/python-mirrors/"
esc #退出插入
:wq #退出並保存文件
source .bashrc
- pyenv 還有其他報錯的話,可以去這個網站查一下pyenv/wiki/Common-build-problems
- 很遺憾我到這還是報錯,於是我準備升級 OpenSSL 到 3.0.2
- 安裝 Perl-CPAN 模塊
# 安裝perl-CPAN
yum install -y perl-CPAN
# 執行模塊
perl -MCPAN -e shell
- 所有提示的選項都默認回車即可,直到出現提示符“cpan[1]>”,則執行如下命令
# 安裝IPC/Cmd.pm(注意提示符:cpan[1]> 下執行)
install IPC/Cmd.pm
# 執行完成後,出現提示符 cpan[2]>時,執行如下
quit
- 下載 OpenSSL 源碼
# 在線下載3.0.2版本
wget https://www.openssl.org/source/openssl-3.0.2.tar.gz
- 編譯安裝
# 解壓
tar -zxvf openssl-3.0.2.tar.gz
# 進入解壓後目錄
cd openssl-3.0.2
# 配置
./config --prefix=/usr/local/openssl-3.0.2 shared zlib
# 設置主機CPU核心數
make -j2
# 安裝
make install
- 設置環境變量
# 查詢動態庫名稱
openssl version -a
# 查找動態庫位置
find / -name libssl.so.3
# 設置環境變量
touch /etc/profile.d/openssl.sh
chmod 777 /etc/profile.d/openssl.sh
echo -e '\nexport PATH=/usr/local/openssl-3.0.2/bin:$PATH\n' >> /etc/profile.d/openssl.sh
source /etc/profile.d/openssl.sh
#設置頭文件
ln -sv /usr/local/openssl-3.0.2/include/openssl /usr/include/openssl
#設置庫文件
touch /etc/ld.so.conf.d/openssl.conf
chmod 777 /etc/ld.so.conf.d/openssl.conf
echo -e "/usr/local/openssl-3.0.2/lib64" >> /etc/ld.so.conf.d/openssl.conf
#加載動態連接庫
ldconfig -v
ldconfig -p |grep openssl
- 顯示版本號
openssl version -a
- 然後重新執行第三步,記得三句一起,別把\漏了
- 設置版本,再配合 venv 使用,相當乾淨方便快捷
pyenv global 3.10.6 #全局設置
pyenv local 3.10.6 #local 本地設置 隻影響所在文件夾
安裝 MySQL
- 運行以下命令更新 YUM 源
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
- 運行以下命令安裝 MySQL
yum -y install mysql-community-server --nogpgcheck
- 運行
mysql -V查看 MySQL 版本號
- 返回結果如下所示,表示 MySQL 安裝成功
mysql Ver 14.14 Distrib 5.7.36, for Linux (x86_64) using EditLine wrapper
- 啓動 MySQL
systemctl start mysqld
#設置開機啓動MySQL
systemctl enable mysqld
systemctl daemon-reload
結束
web 服務需要的環境基本是裝好了,接下來就是使用了,最近有點時間了,準備倒騰一下AI,順便整理筆記啥的,歡迎關注我的公眾號(一起倒騰,暢所欲言)