Nginx+PHP+MYSQL-Ubuntu在线安装

在 Ubuntu 上配置 Nginx、PHP 和 MySQL 的步骤如下:

1. 更新系统包

首先,确保系统包是最新的:

bash 复制代码
sudo apt update
sudo apt upgrade

2. 安装 Nginx

安装 Nginx:

bash 复制代码
sudo apt install nginx

启动并启用 Nginx 服务:

bash 复制代码
sudo systemctl start nginx
sudo systemctl enable nginx

验证 Nginx 是否正常运行:

bash 复制代码
sudo systemctl status nginx

在浏览器中输入服务器的 IP 地址,应看到 Nginx 的欢迎页面。

3. 安装 MySQL

安装 MySQL:

bash 复制代码
sudo apt install mysql-server

启动并启用 MySQL 服务:

bash 复制代码
sudo systemctl start mysql
sudo systemctl enable mysql

运行安全脚本以加强 MySQL 的安全性:

bash 复制代码
sudo mysql_secure_installation

按照提示设置 root 密码并移除不安全设置。

4. 安装 PHP

安装 PHP 及常用扩展:

bash 复制代码
sudo apt install php-fpm php-mysql

php-fpm 是 PHP FastCGI 进程管理器,php-mysql 用于 PHP 与 MySQL 的交互。

5. 配置 Nginx 使用 PHP

编辑 Nginx 的默认配置文件:

bash 复制代码
sudo nano /etc/nginx/sites-available/default

找到 location ~ .php$ 部分,修改为:

nginx 复制代码
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据 PHP 版本调整路径
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

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

bash 复制代码
sudo nginx -t

若无错误,重启 Nginx:

bash 复制代码
sudo systemctl restart nginx

6. 测试 PHP

创建测试 PHP 文件:

bash 复制代码
sudo nano /var/www/html/info.php

添加以下内容:

php 复制代码
<?php
phpinfo();
?>

保存并退出,然后在浏览器中访问 http://your_server_ip/info.php,应看到 PHP 信息页面。

7. 配置 MySQL 用户和数据库

登录 MySQL:

bash 复制代码
sudo mysql -u root -p

创建数据库和用户:

sql 复制代码
CREATE DATABASE example_db;
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

8. 测试 PHP 连接 MySQL

创建测试 PHP 文件:

bash 复制代码
sudo vim /var/www/html/dbtest.php

添加以下内容:

php 复制代码
<?php
$mysqli = new mysqli("localhost", "example_user", "password", "example_db");

if ($mysqli->connect_error) {
    die("连接失败: " . $mysqli->connect_error);
}
echo "连接成功";
?>

保存并退出,然后在浏览器中访问 http://your_server_ip/dbtest.php,应看到"连接成功"。

9. 完成

至此,Nginx、PHP 和 MySQL 已成功配置并运行。

10. 备注

DeepSeek生成,测试可用,在此声明。

相关推荐
笑醉踏歌行5 分钟前
NVM,Node.Js 管理工具
运维·ubuntu·node.js
jiunian_cn1 小时前
【Linux】Linux权限
linux·服务器·mysql
betazhou1 小时前
有没有 MariaDB 5.5.56 对应 MySQL CONNECTION_CONTROL 插件
linux·数据库·mysql·oracle·mariadb
异常君1 小时前
MySQL 中 count(*)、count(1)、count(字段)性能对比:一次彻底搞清楚
java·mysql·面试
烟雨书信2 小时前
Linux中MySQL的逻辑备份与恢复
linux·运维·mysql
CRMEB定制开发2 小时前
CRMEB 中 PHP 快递查询扩展实现:涵盖一号通、阿里云、腾讯云
阿里云·php·腾讯云·商城系统·商城源码
想用offer打牌2 小时前
面试官问:Redis和MySQL数据一致,为什么还需要MySQL?🤠
数据库·redis·mysql
CRMEB定制开发3 小时前
PHP 打印扩展开发:从易联云到小鹅通的多驱动集成实践
php·小程序源码·商城源码·微信商城·php商城源码
Bruce_Liuxiaowei3 小时前
PHP文件包含漏洞详解:原理、利用与防御
开发语言·网络安全·php·文件包含
搬码红绿灯3 小时前
MySQL主从复制深度解析:原理、架构与实战部署指南
数据库·mysql·架构