不止是安装:在openEuler 22.03 LTS SP4上快速搭一个可用的开发/测试环境
从裸机到生产力openEuler 22.03 LTS SP4半小时高效开发环境搭建指南刚装完openEuler系统看着空荡荡的终端界面是不是有种接下来该干嘛的迷茫作为开发者我们需要的不是一个干净的操作系统而是一个开箱即用的工作环境。本文将带你跳过繁琐的配置过程用最直接的方式在30分钟内打造一个全功能的开发测试环境。1. 系统基础调优让openEuler跑得更顺安装完系统后的第一件事就是解决软件下载慢的问题。默认的软件源可能对国内用户不太友好我们可以换成华为或清华的镜像源。打开终端执行以下命令备份原有源文件sudo cp /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak然后根据你的网络情况选择适合的镜像源。对于华为云用户推荐使用华为镜像源sudo sed -i s|repo.openeuler.org|mirrors.huaweicloud.com/openeuler|g /etc/yum.repos.d/openEuler.repo如果是教育网用户清华源可能是更好的选择sudo sed -i s|repo.openeuler.org|mirrors.tuna.tsinghua.edu.cn/openeuler|g /etc/yum.repos.d/openEuler.repo更新软件包缓存并升级系统sudo dnf makecache sudo dnf update -y提示执行系统更新后建议重启一次确保所有更新生效。接下来设置时区这对日志分析非常重要sudo timedatectl set-timezone Asia/Shanghai2. 开发工具链一站式安装核心组件一个高效的开发环境离不开基础工具链的支持。下面这个组合命令可以一次性安装开发者常用的所有工具sudo dnf install -y gcc gcc-c make cmake autoconf automake \ git git-lfs python3 python3-pip python3-devel \ vim-enhanced tmux zsh fish curl wget jq \ openssl-devel bzip2-devel readline-devel sqlite-devel安装完成后建议为Python配置国内镜像源加速包下载mkdir -p ~/.pip cat ~/.pip/pip.conf EOF [global] index-url https://mirrors.aliyun.com/pypi/simple/ trusted-host mirrors.aliyun.com EOF对于需要多版本Python管理的开发者可以安装pyenvcurl https://pyenv.run | bash将以下内容添加到~/.bashrc中export PATH$HOME/.pyenv/bin:$PATH eval $(pyenv init --path) eval $(pyenv virtualenv-init -)然后重新加载配置source ~/.bashrc现在你可以用pyenv安装管理多个Python版本了pyenv install 3.9.13 pyenv global 3.9.133. 容器化环境配置Docker与Podman双选择现代开发离不开容器化技术。openEuler原生支持Docker和Podman下面是两种方案的安装方法。3.1 Docker方案安装Docker CE版本sudo dnf config-manager --add-repo https://mirrors.huaweicloud.com/docker-ce/linux/openeuler/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io启动Docker服务并设置开机自启sudo systemctl enable --now docker将当前用户加入docker组避免每次使用sudosudo usermod -aG docker $USER newgrp docker配置国内镜像加速sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://mirror.ccs.tencentyun.com] } EOF sudo systemctl restart docker3.2 Podman方案如果你更倾向于无守护进程的容器方案Podman是个不错的选择sudo dnf install -y podman podman-docker buildah skopeoPodman的使用体验与Docker几乎一致但不需要后台服务。配置镜像加速mkdir -p ~/.config/containers tee ~/.config/containers/registries.conf EOF unqualified-search-registries [docker.io] [[registry]] prefix docker.io location docker.mirrors.ustc.edu.cn EOF4. 实战演练部署Python Flask应用验证环境现在我们来实际部署一个简单的Python Flask应用验证我们的开发环境是否完善。首先创建项目目录mkdir flask-demo cd flask-demo创建并激活Python虚拟环境python3 -m venv venv source venv/bin/activate安装Flask框架pip install flask创建一个简单的应用文件app.pyfrom flask import Flask app Flask(__name__) app.route(/) def hello(): return Hello, openEuler! if __name__ __main__: app.run(host0.0.0.0, port5000)运行应用python app.py现在你可以通过浏览器访问http://服务器IP:5000看到欢迎信息。但这只是开发模式生产环境我们需要更可靠的部署方式。4.1 使用Gunicorn部署安装Gunicornpip install gunicorn用Gunicorn运行应用gunicorn -w 4 -b 0.0.0.0:8000 app:app4.2 容器化部署创建DockerfileFROM python:3.9-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ COPY . . CMD [gunicorn, -w, 4, -b, 0.0.0.0:8000, app:app]构建并运行容器docker build -t flask-demo . docker run -d -p 8000:8000 --name myflask flask-demo5. 进阶配置提升开发体验的小技巧5.1 Shell环境优化oh-my-zsh可以大幅提升终端使用体验sudo dnf install -y zsh sh -c $(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)推荐安装以下插件git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting然后在~/.zshrc中启用插件plugins(git zsh-autosuggestions zsh-syntax-highlighting)5.2 开发数据库安装MySQL安装sudo dnf install -y mysql-server mysql-client sudo systemctl enable --now mysqldPostgreSQL安装sudo dnf install -y postgresql-server postgresql-contrib sudo postgresql-setup --initdb sudo systemctl enable --now postgresqlRedis安装sudo dnf install -y redis sudo systemctl enable --now redis5.3 性能监控工具安装基础监控工具sudo dnf install -y htop iotop iftop nmon sysstat配置sysstat收集系统指标sudo sed -i s|^HISTORY.*|HISTORY7| /etc/sysconfig/sysstat sudo systemctl enable --now sysstat
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2494658.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!