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生成,测试可用,在此声明。

相关推荐
嘉嘉king27 分钟前
Mysql中的数据类型和语句概述
数据库·mysql
仰望星空的小随32 分钟前
mysql相关面试题
数据库·mysql
#岩王爷35 分钟前
Ajax------免刷新地前后端交互
前端·javascript·ajax·php
2301_787552873 小时前
aidigu开源微博项目程序,PHP开发的开源微博系统,自媒体个人创业、网盘推广首先
开发语言·开源·php·数据库开发·媒体
2401_890665863 小时前
免费送源码:Java+SpringBoot+MySQL SpringBoot网上宠物领养管理系统 计算机毕业设计原创定制
java·vue.js·spring boot·python·mysql·pycharm·html5
qixiang20134 小时前
mysql和mongodb
数据库·mysql·mongodb
GLAB-Mary4 小时前
你的 Linux 服务器连不上网?10 分钟入门网络故障排查
linux·服务器·php
开发小能手-roy4 小时前
如何设置Ubuntu服务器版防火墙
linux·运维·ubuntu
laimaxgg5 小时前
Docker命令
linux·运维·服务器·ubuntu·docker
HEX9CF6 小时前
【Docker】快速部署 Certbot 并为 Nginx 服务器配置 SSL/TLS 证书
服务器·nginx·docker