在CentOS Stream 8上部署Web应用可以按照以下步骤进行:
首先,确保你的系统是最新的,并安装必要的软件包,如httpd
(Apache HTTP服务器)和mod_ssl
(用于SSL支持)。
sudo dnf update -y
sudo dnf install httpd mod_ssl -y
启动Apache服务并设置开机自启。
sudo systemctl start httpd
sudo systemctl enable httpd
确保防火墙允许HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
如果你打算使用HTTPS,你需要配置SSL证书。可以使用Let’s Encrypt免费获取证书。
sudo dnf install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
按照提示完成证书的安装和配置。
将你的Web应用文件放置在Apache的默认文档根目录/var/www/html
下,或者根据需要创建一个新的虚拟主机。
echo "<h1>Welcome to My Web Application</h1>" | sudo tee /var/www/html/index.html
如果你使用的是Django应用,可以按照以下步骤进行部署:
安装Python和依赖:
sudo dnf install python3 python3-pip -y
创建虚拟环境并安装Django:
sudo dnf install python3-venv -y
python3 -m venv myenv
source myenv/bin/activate
pip install django
配置Django项目:
django-admin startproject myproject
cd myproject
python manage.py runserver 0.0.0.0:8000
配置Apache虚拟主机:
编辑/etc/httpd/conf.d/myproject.conf
文件,添加以下内容:
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
Alias /static/ /path/to/your/static/files/
<Directory /path/to/your/static/files/>
Require all granted
</Directory>
<Directory /path/to/your/myproject/myproject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject python-path=/path/to/your/myproject python-home=/path/to/your/myenv
WSGIProcessGroup myproject
WSGIScriptAlias / /path/to/your/myproject/myproject/wsgi.py
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
重启Apache服务:
sudo systemctl restart httpd
打开浏览器,访问你的域名或服务器IP地址,确保Web应用能够正常访问。
通过以上步骤,你应该能够在CentOS Stream 8上成功部署一个Web应用。根据你的具体需求,可能需要进行一些额外的配置和调整。