在 Ubuntu 20.04 上搭建NMP环境

简介: 本文介绍了如何在Linux系统上安装和配置Nginx、MariaDB和PHP。首先更新系统包并安装Nginx,确保其正常运行并配置防火墙允许流量。接着安装MariaDB数据库,运行安全脚本增强安全性,并验证安装成功。最后,安装PHP及其常用扩展,通过创建一个简单的PHP文件测试其是否正常工作。整个过程详细说明了每一步骤的命令及操作,帮助用户顺利完成LAMP(Linux, Nginx, MariaDB, PHP)环境的搭建。

安装和配置 Nginx

1.更新系统包

在安装 Nginx 之前,确保系统包是最新的。

sudo apt update    
sudo apt upgrade

2.安装 Nginx

sudo apt install nginx
安装过程中,系统可能会提示你确认安装,输入 Y 并按下 Enter 键继续。

3.检查 Nginx 状态

安装完成后,可以检查 Nginx 的状态以确保它正在运行:
sudo systemctl status nginx
如果没有运行,可以使用以下命令启动 Nginx:
sudo systemctl start nginx

4.配置防火墙

如果启用了 UFW 防火墙,需要允许 Nginx 通过防火墙:
sudo ufw allow 'Nginx Full'
这将允许 HTTP 和 HTTPS 流量。

5.访问 Nginx

打开网页浏览器,输入服务器的 IP 地址或域名,应该能看到 Nginx 的默认欢迎页面,这表明 Nginx 已成功安装并运行。
要找到服务器的 IP 地址,可以使用以下命令:
curl ifconfig.me

6.配置 Nginx配置文件与PHP集成

编辑 Nginx 的默认配置文件:
sudo nano /etc/nginx/sites-available/default
修改或添加以下内容:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

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

    server_name _;

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

    # 处理 .php 文件
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors on;
    }

    # 禁止访问 .htaccess 文件
    location ~ /\.ht {
        deny all;
    }
}

7.检查 Nginx 配置文件的语法并重新加载 Nginx

检查 Nginx 配置文件的语法
sudo nginx -t
如果一切正确,它会显示 "syntax is ok" 和 "test is successful" 的消息
重新加载 Nginx
sudo systemctl reload nginx

安装和配置 MariaDB 数据库

1.卸载旧的MariaDB 数据库

检查是否安装了MariaDB 数据库
apt list --installed | grep mariadb
这个命令会列出所有已安装的 MariaDB 相关软件包。如果没有匹配项,说明 MariaDB 未安装。
停止 MariaDB 服务
sudo systemctl stop mariadb 或者 sudo systemctl stop mysql
卸载 MariaDB 软件包
sudo apt remove --purge mariadb-server mariadb-client

2.安装 MariaDB 服务器和客户端

sudo apt install mariadb-server mariadb-client
安装过程中,系统可能会提示你确认是否继续安装,输入 Y 然后按回车键继续。

3.启动并检查 MariaDB 服务

MariaDB 安装完成后,系统会自动启动 MariaDB 服务。可以通过以下命令检查 MariaDB 的服务状态:
sudo systemctl status mariadb
如果 MariaDB 服务正在运行,会看到类似如下的输出:

● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 20XX-XX-XX XX:XX:XX UTC; 1 day ago

如果没有自动启动,可以手动启动 MariaDB 服务:
sudo systemctl start mariadb
可以设置 MariaDB 服务开机自启动:
sudo systemctl enable mariadb

4.运行安全安装脚本

MariaDB 提供了一个安全安装脚本 mysql_secure_installation,可以增强数据库的安全性。建议运行这个脚本并根据提示进行配置。
sudo mysql_secure_installation
根据提示进行以下操作:
-设置 MariaDB root 用户的密码。
-移除匿名用户账户。
-禁止 root 用户远程登录。
-移除测试数据库并加载权限表。
以下是一个示例对话过程:

OK, successfully used password, moving on...

Switch to unix_socket authentication [Y/n] n

Change the root password? [Y/n] y
New password: 
Re-enter new password: 

Remove anonymous users? [Y/n] y

Disallow root login remotely? [Y/n] y

Remove test database and access to it? [Y/n] y

Reload privilege tables now? [Y/n] y

5.登录 MariaDB

sudo mysql -u root -p
输入 MariaDB 的 root 用户密码,进入 MariaDB 命令行界面。

6.检查 MariaDB 版本

在 MariaDB 命令行界面输入以下命令:
SELECT VERSION();

安装和配置 PHP

1.安装 PHP 的核心包以及命令行工具 (php-cli) 和 FastCGI 进程管理器 (php-fpm)。

sudo apt install php php-cli php-fpm

2.验证安装

php -v
成功安装会显示你安装的 PHP 版本。

3.根据需要安装常用 PHP 扩展

MySQL 支持php-mysql、XML 支持php-xml、JSON 支持php-json、cURL 支持php-curl、GD 图像处理php-gd、mbstring 支持php-mbstring

4.测试 PHP 是否正常工作

创建一个简单的 PHP 文件,并通过浏览器访问它。
/var/www/html/ 目录下创建一个名为 info.php 的文件:
sudo nano /var/www/html/info.php
在文件中添加以下内容:
<?php phpinfo(); ?>
打开浏览器,在浏览器中访问 http://your-server-ip/info.php,显示 PHP 信息页面即为成功。

相关文章
|
26天前
|
存储 Ubuntu 自动驾驶
运行Udacity的MPC控制项目指南(project_10)在Ubuntu 18.04环境下
以上步骤应该能够帮助您成功设置并运行Udacity MPC控制项目,在此过程中您将学习如何应用模型预测控制理论去指导车辆沿着轨迹自主驾驶,在模拟环境下测试其效果。这个过程不但涵盖了理论知识也有实践操作,对于学习自动驾驶车辆控制系统非常有帮助。
88 15
|
1月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
|
2月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
174 16
|
3月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu上配置phpMyAdmin和WordPress环境的步骤
执行以上步骤后,你将成功配置Ubuntu系统上的phpMyAdmin和WordPress环境。需要注意的是,应该根据自己实际的环境如具体的Ubuntu版本、WordPress版本和个人的安全需求做适当调整。此配置指南假定你拥有一个干净的Ubuntu服务器环境,某些步骤比如MySQL的root密码已经设置好了。
101 14
|
2月前
|
Ubuntu 安全 Linux
Ubuntu 24.10 发行版登场:Linux 6.11 内核、GNOME 47 桌面环境
Ubuntu 24.10 还带来了 GNOME 47,增强了性能和稳定性,并引入了新功能。此版本的 Ubuntu 还默认在采用 Nvidia 显卡的硬件上切换到 Wayland,并在支持的硬件上默认使用开源的 Nvidia 560 内核模块。 另外需要注意的是,Ubuntu 24.10 是稳定版本,但作为非 LTS 版本,仅支持 9 个月。
|
3月前
|
Ubuntu 编译器
在Ubuntu中设置QT Creator的交叉编译环境。
在进行交叉编译设置时,请确保遵循你的目标硬件平台和软件的具体指南。以上步骤给出的是一个概括的指南,具体步骤可能因你的特定需求而有所不同。务必参照相关硬件和软件的官方文档进行操作,以获得具体的、针对性的指导。
255 0
|
5月前
|
监控 Ubuntu Linux
在Ubuntu环境中制定脚本开机自动启动设置
以上就是在Ubuntu环境下制定脚本开机自动启动的设置方法。通过Systemd服务,你可以按需要轻松管理脚本的自动执行。全新的一天开始时,脚本已静静地运行,无需额外手动启动,机器恰如一位忠诚的仲夏夜的梦想者,在黎明的许诺中尽职尽责。于是心满意足地看着,任由它在自己选择的轨道上静静地飞翔。
529 26
|
5月前
|
Ubuntu 开发工具
Ubuntu环境下以源码编译方式安装Vim的步骤介绍
以上就是在Ubuntu环境下以源码编译方式安装Vim的全部步骤。就像煮一杯咖啡,虽然过程中需要耐心和一些技巧,但等到你熟悉之后,你会发现,不仅可以定制自己喜欢的口味,过程中的乐趣也是不能忽视的。希望你在编译安装Vim的过程中,能体验到这份乐趣。
254 21
|
4月前
|
Ubuntu jenkins 机器人
在Jenkins上配置触发Ubuntu环境的图形用户界面(GUI)构建任务。
以上,这趟融合了技术与艺术的Jenkins配置之旅就告一段落了。记住,技术应当像艺术一样有趣和生动,这样才能激发出最大的创新和效率。
121 2
|
5月前
|
Ubuntu NoSQL 编译器
在Ubuntu 20.04上构建RISC-V和QEMU环境
以上的步骤只是开始,RISC-V的世界里有无数的未知等待你去探索。加油,勇敢的探险家。
308 18