centos lnmp部署流程是怎样的
导读:CentOS LNMP部署流程(详细步骤) 1. 部署前准备 更新系统:运行sudo yum update -y,确保系统软件包为最新版本,修复潜在安全漏洞。 安装必要工具:安装编译工具、依赖库及EPEL仓库(提供额外软件包):sudo...
CentOS LNMP部署流程(详细步骤)
1. 部署前准备
- 更新系统:运行
sudo yum update -y,确保系统软件包为最新版本,修复潜在安全漏洞。 - 安装必要工具:安装编译工具、依赖库及EPEL仓库(提供额外软件包):
sudo yum install -y wget gcc make pcre-devel openssl-devel zlib-devel epel-release
2. 安装Nginx(Web服务器)
- 添加Nginx仓库(可选,优先使用官方源):
sudo yum install -y epel-release - 安装Nginx:
sudo yum install -y nginx - 启动并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx - 验证安装:在浏览器访问服务器IP,若看到Nginx欢迎页面,说明安装成功。
3. 安装MySQL/MariaDB(数据库)
方案一:使用YUM源安装(推荐)
- 添加MariaDB仓库(CentOS默认使用MariaDB,兼容MySQL):
sudo yum install -y https://yum.mariadb.org/MariaDB/mariadb.repo.d/20-mariadb.repo - 安装MariaDB Server:
sudo yum install -y mariadb-server mariadb - 启动并设置开机自启:
sudo systemctl start mariadb sudo systemctl enable mariadb - 安全配置:运行
sudo mysql_secure_installation,按提示设置root密码、移除匿名用户、禁用远程root登录等。
方案二:使用LNMP一键安装包(快速部署)
- 下载并运行安装脚本:
wget -c http://soft.vpser.net/lnmp/lnmp1.6-full.tar.gz & & tar zxf lnmp1.6-full.tar.gz & & cd lnmp1.6 ./install.sh - 按提示选择MySQL版本、设置root密码,脚本会自动编译安装MySQL/MariaDB。
4. 安装PHP(服务器端脚本)
方案一:使用YUM源安装(推荐)
- 安装PHP及常用扩展(根据需求选择版本,如PHP 7.4/8.0):
sudo yum install -y php php-cli php-fpm php-mysqlnd php-gd php-xml php-mbstring php-curlphp-fpm:PHP FastCGI进程管理器,用于与Nginx通信。php-mysqlnd:MySQL数据库驱动,支持PDO扩展。
- 启动并设置开机自启:
sudo systemctl start php-fpm sudo systemctl enable php-fpm - 配置Nginx支持PHP:编辑Nginx默认站点配置文件(
/etc/nginx/conf.d/default.conf),在server块中添加:location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; # 使用Unix socket通信 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } - 测试配置并重载Nginx:
sudo nginx -t # 检查配置语法 sudo systemctl reload nginx
方案二:使用LNMP一键安装包
- 在
install.sh脚本运行时,选择PHP版本(如PHP 7.4),脚本会自动编译安装PHP及扩展。
5. 验证LNMP环境
- 创建PHP测试文件:
echo "< ?php phpinfo(); ?> " | sudo tee /var/www/html/info.php - 访问测试:在浏览器输入
http://服务器IP/info.php,若看到PHP信息页面(包含版本、扩展列表),说明LNMP环境部署成功。
6. 安全加固(可选但重要)
- 配置防火墙:允许HTTP(80)、HTTPS(443)流量:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload - 禁用SELinux(若不需要):编辑
/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,重启服务器。 - 定期更新:使用
sudo yum update -y定期更新系统和软件包,修复安全漏洞。
常见问题解决
- Nginx无法解析PHP:检查
fastcgi_pass路径是否正确(默认/var/run/php-fpm/php-fpm.sock),确保php-fpm服务运行。 - MySQL无法远程连接:修改
/etc/my.cnf,注释bind-address = 127.0.0.1,并授权远程用户:GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码'; FLUSH PRIVILEGES; - PHP扩展缺失:使用
sudo yum install -y php-扩展名安装(如php-curl)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos lnmp部署流程是怎样的
本文地址: https://pptw.com/jishu/737083.html
