在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證書??梢允褂肔et’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應用。根據你的具體需求,可能需要進行一些額外的配置和調整。