在CentOS上使用LNMP(Linux, Nginx, MySQL, PHP)堆栈实现动态网站部署,可以按照以下步骤进行:
首先,确保你的CentOS系统是最新的,并安装必要的软件包。
sudo yum update -y
sudo yum install -y epel-release
sudo yum install -y nginx mysql-server php-fpm php-mysqlnd
启动并启用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;
编辑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
编辑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
将你的动态网站文件上传到 /var/www/your_site 目录。你可以使用FTP、SCP或其他文件传输方法。
确保你的网站目录权限正确:
sudo chown -R nginx:nginx /var/www/your_site
sudo chmod -R 755 /var/www/your_site
打开浏览器并访问 http://your_domain.com,你应该能够看到你的动态网站。
如果你使用的是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
为了安全起见,建议为你的网站配置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堆栈的动态网站。