在 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 信息页面即为成功。

相关文章
|
9月前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
9天前
|
Ubuntu 开发工具 C语言
Ubuntu环境下的Samba源码编译
以上就是在Ubuntu环境下编译Samba源码的步骤。希望这个指南能帮助你成功地从源码编译Samba。如果你在编译过程中遇到任何问题,你可以查阅Samba的官方文档,或者在网上搜索相关的教程和解决方案。
50 23
|
4月前
|
JSON Ubuntu 开发者
ubuntu 22安装lua环境&&编译lua cjson模块
通过上述步骤,可以在 Ubuntu 22.04 系统上成功安装 Lua 环境,并使用 LuaRocks 或手动编译的方式安装 lua-cjson 模块。本文详细介绍了每一步的命令和操作,确保每一步都能顺利完成,适合需要在 Ubuntu 系统上配置 Lua 开发环境的开发者参考和使用。
395 13
|
6月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
1315 3
|
6月前
|
Ubuntu
Ubuntu学习笔记(七):ubuntu下jupyter指定虚拟环境
本文介绍了如何在Ubuntu系统下使用Anaconda和Jupyter Notebook指定并切换不同的虚拟环境。
186 0
Ubuntu学习笔记(七):ubuntu下jupyter指定虚拟环境
|
7月前
|
Ubuntu 数据安全/隐私保护
Ubuntu22.04LTS环境部署实战
这篇文章提供了Ubuntu 22.04 LTS操作系统的详细安装步骤,包括选择语言、键盘布局、网络配置、软件源设置、磁盘分区、安装OpenSSH服务以及完成安装和首次登录系统的过程。
448 6
Ubuntu22.04LTS环境部署实战
|
8月前
|
Ubuntu 开发者 Python
|
7月前
|
Ubuntu 应用服务中间件 网络安全
Ubuntu 22.04环境下为Odoo开启80端口的方法
通过以上步骤,你应该能够在Ubuntu 22.04环境下为Odoo开启80端口。访问你的域名时,Nginx会将请求代理到Odoo,允许你通过80端口访问Odoo应用。
288 1
|
7月前
|
Ubuntu 开发工具 虚拟化
MacOS系统基于VMware Fusion配置Ubuntu 22.04LTS环境
这篇文章介绍了如何在MacOS系统上使用VMware Fusion虚拟化软件配置Ubuntu 22.04 LTS环境,包括自定义VMware Fusion网段、Ubuntu系统安装、配置root用户登录、设置静态IP地址、修改默认网卡名称、配置PS1变量、设置登录界面为字符界面、修改软件源和进行vim基础优化等步骤。
654 2
|
8月前
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
396 1
下一篇
oss创建bucket