--- title: 快速搭建环境记录 abbrlink: 5e168f7e cover: 'https://static.zahui.fan/images/202211041307268.jpg' categories: - 基础运维 tags: - Linux - 配置记录 - Docker date: 2021-02-25 13:42:08 --- > 快速搭建一套环境的记录,节省折腾的时间,可以配合[quickstart](https://github.com/iuxt/quickstart)食用 ## Python环境 可以直接使用pipenv这种工具. 也可以自己编译安装 ### 安装编译需要的环境 {% tabs TabName %} ```bash sudo apt install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev ``` ```bash sudo yum install -y gcc make libffi-devel openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel zlib-devel # 新版本的RHEL可能没有gdbm-devel这个包了 ``` {% endtabs %} ### 下载源码并编译 {% tabs TabName %} ```bash cd /tmp/ mkdir ${HOME}/app/ wget https://www.python.org/ftp/python/3.7.17/Python-3.7.17.tgz tar xf Python-3.7.17.tgz cd Python-3.7.17 ./configure --prefix=${HOME}/app/Python-3.7.17 make make install ``` 添加到PATH环境变量(可选) ```bash tee -a ${HOME}/.bashrc <<-EOF # Python 环境 export PATH=\$PATH:${HOME}/app/Python-3.7.7/bin EOF source ${HOME}/.bashrc ``` ```bash cd /tmp/ wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz tar xf Python-3.7.7.tgz cd Python-3.7.7 ./configure --prefix=/opt/Python-3.7.7 make sudo make install ``` 添加到PATH环境变量(可选) ```bash sudo tee -a /etc/profile <<-'EOF' # Python 环境 export PATH=$PATH:/opt/Python-3.7.7/bin EOF source /etc/profile ``` {% endtabs %} > 增加 --enable-optimizations 参数速度编译速度会非常慢, 但是会优化python运行的性能。 ### 配置国内源 ```bash pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple ``` ## java 环境 官方网站: ```bash # 下载解压,创建软连接 wget https://file.babudiu.com/f/8QCY/jdk-8u351-linux-x64.tar.gz tar xf jdk-8u351-linux-x64.tar.gz -C /usr/local/ ln -sf /usr/local/jdk1.8.0_351/ /usr/local/java # 配置环境变量 cat >> /etc/profile <<-'EOF' # JAVA环境变量 export JAVA_HOME=/usr/local/java export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib:. export PATH=$PATH:$JAVA_HOME/bin EOF # 使变量生效 source /etc/profile ``` ## golang 环境 ```bash wget https://dl.google.com/go/go1.21.1.linux-amd64.tar.gz rm -rf ~/app/go && mkdir -p ~/app/ tar -C ~/app/ -xzf go1.21.1.linux-amd64.tar.gz # 配置环境变量 tee -a ~/.profile <<-'EOF' # golang 环境 export PATH=$PATH:~/app/go/bin EOF source ~/.profile ``` ## Docker ```bash curl -fsSL get.docker.com | bash # 修改一些配置 sudo mkdir -p /etc/docker && sudo tee /etc/docker/daemon.json <<-'EOF' { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://go38p9zi.mirror.aliyuncs.com" ] } EOF # 当前用户执行docker命令,需要注销用户 sudo usermod -aG docker $USER ``` ## nodejs 我个人更建议把nodejs安装在Home目录下, 原因如下: 1. 环境隔离, Linux 如果有多个用户, 不会影响到其他用户的环境 2. 安装包不需要使用root权限, 也不会有一些奇奇怪怪的权限问题 ```bash # 设置安装的版本 export NODE_VERSION="v18.18.0" # 下载安装包 wget "https://npmmirror.com/mirrors/node/${NODE_VERSION}/node-${NODE_VERSION}-linux-x64.tar.xz" # 创建目录 mkdir ~/app # 解压 tar xf "node-${NODE_VERSION}-linux-x64.tar.xz" -C ~/app # 添加到PATH环境变量 echo "export PATH=\$PATH:/home/iuxt/app/node-${NODE_VERSION}-linux-x64/bin" >> ~/.profile ``` ### 常用命令速查 | 作用 | 命令 | | ---------------------------------------------------- | -------------------------------------------------------------- | | 查看可执行文件的位置 | `npm bin` | | 查看全局包的位置 | `npm bin --location=global` | | 安装指定包到./node_modules | `npm i xxx` | | 安装指定包到./node_modules并记录在package.json文件中 | `npm i xxx --save` | | 全局安装包 | `npm i xxx -g` 或者 `npm i xxx --location=global` (新版nodejs) | | 安装package.json中定义的包 | `npm i` |