温馨提示×

centos lnmp如何实现动态网站部署

小樊
40
2025-11-16 02:37:51
栏目: 云计算

在CentOS上使用LNMP(Linux, Nginx, MySQL, PHP)堆栈实现动态网站部署,可以按照以下步骤进行:

1. 安装必要的软件包

首先,确保你的CentOS系统是最新的,并安装必要的软件包。

sudo yum update -y
sudo yum install -y epel-release
sudo yum install -y nginx mysql-server php-fpm php-mysqlnd

2. 配置MySQL

启动并启用MySQL服务:

sudo systemctl start mysqld
sudo systemctl enable mysqld

运行MySQL安全脚本以设置root密码和其他安全选项:

sudo mysql_secure_installation

登录到MySQL并创建一个新的数据库和用户:

sudo mysql -u root -p

在MySQL shell中:

CREATE DATABASE your_database_name;
CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3. 配置Nginx

编辑Nginx配置文件以设置你的网站:

sudo vi /etc/nginx/nginx.conf

或者创建一个新的站点配置文件:

sudo vi /etc/nginx/conf.d/your_site.conf

添加以下内容:

server {
    listen 80;
    server_name your_domain.com www.your_domain.com;

    root /var/www/your_site;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

保存并退出编辑器,然后测试Nginx配置:

sudo nginx -t

重新加载Nginx以应用更改:

sudo systemctl reload nginx

4. 配置PHP-FPM

编辑PHP-FPM配置文件:

sudo vi /etc/php-fpm.d/www.conf

确保以下行没有被注释掉:

listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx

保存并退出编辑器,然后启动并启用PHP-FPM服务:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

5. 部署动态网站

将你的动态网站文件上传到 /var/www/your_site 目录。你可以使用FTP、SCP或其他文件传输方法。

确保你的网站目录权限正确:

sudo chown -R nginx:nginx /var/www/your_site
sudo chmod -R 755 /var/www/your_site

6. 测试网站

打开浏览器并访问 http://your_domain.com,你应该能够看到你的动态网站。

7. 配置防火墙

如果你使用的是CentOS 7或更高版本,确保防火墙允许HTTP和HTTPS流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

8. 配置SSL(可选)

为了安全起见,建议为你的网站配置SSL证书。你可以使用Let’s Encrypt免费获取SSL证书:

sudo yum install -y certbot python2-certbot-nginx
sudo certbot --nginx -d your_domain.com -d www.your_domain.com

按照提示完成SSL证书的安装和配置。

通过以上步骤,你应该能够在CentOS上成功部署一个使用LNMP堆栈的动态网站。

0