在CentOSStream8上部署应用有两条路径:源码编译适合细粒度调优,容器化部署适合微服务。源码编译需下载、配置、编译安装并配置systemd服务;容器化则通过Docker安装、编写Dockerfile构建镜像并运行。需注意防火墙放行端口与SELinux调整。
如何在CentOS Stream 8上部署应用

长期稳定更新的攒劲资源: >>>点此立即查看<<<
先说一个核心判断:在CentOS Stream 8上部署应用,通常有两条路径——要么走传统的源码编译,要么拥抱容器化。两者各有优劣,关键取决于实际场景。源码编译能够实现系统级完全控制,适合需要细粒度性能调优的应用;而Docker则胜在环境一致性和部署效率,特别适合微服务或快速迭代项目。接下来,我们逐步拆解具体流程。
无论选择哪种方式,都需要先将系统准备妥当。更新系统并安装基础工具包是必须完成的第一步。
sudo dnf update -ysudo dnf groupinstall "Development Tools" -ysudo dnf install wget vim -y这条路径适合对性能有极致要求,或需要定制编译选项的场景。以Nginx为例,演示完整流程。
从官方渠道获取源码包,注意确认版本和完整性。使用wget下载,然后解压到工作目录。
wget http://nginx.org/download/nginx-1.22.0.tar.gztar -zxvf nginx-1.22.0.tar.gzcd nginx-1.22.0
根据需求配置——例如需要开启SSL和HTTP/2支持,则在configure阶段指定模块。
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module
执行make编译,然后make install安装到指定目录。过程耗时取决于机器性能,耐心等待即可。
makesudo make install
编写一个systemd服务单元文件,好处在于能够实现开机自启,管理也更便捷,无需每次手动输命令。
sudo vi /etc/systemd/system/nginx.service内容如下(请根据实际路径调整):[Unit]Description=The Nginx HTTP ServerAfter=network.target[Service]ExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s stopRestart=on-failure[Install]WantedBy=multi-user.target保存后启用并启动服务:sudo systemctl enable nginxsudo systemctl start nginx
sudo systemctl status nginx。显示“active (running)”即为正常。容器化部署的优势在于“一次构建,到处运行”。从安装Docker到启动第一个容器,几步即可完成。
先添加官方仓库,再安装Docker CE,最后启动并设置开机自启。
sudo dnf update -ysudo dnf install -y dnf-plugins-coresudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo dnf install docker-ce --nobest -y启动Docker服务:sudo systemctl start dockersudo systemctl enable docker
Dockerfile是构建镜像的蓝图。此处以CentOS Stream 8为基础镜像,部署一个简单的Apache Web服务。
FROM centos:stream8ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binRUN yum update -y && yum install -y httpdCOPY ./myapp /var/www/html/EXPOSE 80CMD ["httpd", "-DFOREGROUND"]
在Dockerfile所在目录执行构建命令,然后运行容器并映射端口。
docker build -t my-centos-app .docker run -d -p 8080:80 --name my-running-app my-centos-app
docker ps确认容器状态为“Up”。sudo firewall-cmd --add-service=nginx --permanentsudo firewall-cmd --reloadsudo setenforce 0侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述