下面以 CentOS Stream 8 为例,系统地讲一下常见网站部署方式(以 Nginx + PHP / 静态网站 / 反向代理 为主,适合大多数场景)。
dnf update -y
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
生产环境建议开启 SELinux 并配置策略
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
dnf install -y nginx
systemctl enable --now nginx
测试:
curl http://localhost
看到 Nginx 欢迎页即成功。
mkdir -p /var/www/html/myweb
scp index.html root@服务器IP:/var/www/html/myweb/
vi /etc/nginx/conf.d/myweb.conf
内容示例:
server {
listen 80;
server_name yourdomain.com;
root /var/www/html/myweb;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
nginx -t
systemctl restart nginx
dnf install -y php php-fpm php-mysqlnd
systemctl enable --now php-fpm
server {
listen 80;
server_name yourdomain.com;
root /var/www/html/phpweb;
index index.php index.html;
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
echo "<?php phpinfo(); ?>" > /var/www/html/phpweb/index.php
dnf install -y mariadb-server
systemctl enable --now mariadb
mysql_secure_installation
dnf install -y docker
systemctl enable --now docker
docker run -d -p 80:80 nginx
或用 docker-compose 管理完整网站。
dnf install -y certbot python3-certbot-nginx
certbot --nginx
| 类型 | 推荐方式 |
|---|---|
| 静态网站 | Nginx |
| PHP 网站 | Nginx + PHP-FPM |
| Java | Nginx + Tomcat |
| Node.js | Nginx 反向代理 |
| 微服务 | Docker + Nginx |
如果你愿意,可以告诉我:
我可以给你更精确的部署方案。