117.info
人生若只如初见

Ubuntu下LNMP安全设置怎么做

在Ubuntu下配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境并确保其安全性,可以遵循以下步骤:

1. 安装Nginx

首先,更新系统包列表并安装Nginx:

sudo apt update
sudo apt install nginx

安装完成后,通过浏览器访问服务器IP地址,检查Nginx是否安装成功。

2. 安装MySQL/MariaDB

接下来,安装MySQL或MariaDB:

sudo apt install mysql-server

安装过程中,系统会提示设置MySQL的root密码,请务必设置一个强密码。

安装完成后,运行以下命令以安全配置MySQL:

sudo mysql_secure_installation

按照提示操作,包括更改root密码、删除匿名用户、禁止远程root登录等。

3. 安装PHP

安装PHP及其必要的扩展:

sudo apt install php-fpm php-mysql

4. 配置Nginx以支持PHP

编辑Nginx的默认配置文件:

sudo vim /etc/nginx/sites-available/default

server块中,找到location ~ \.php$部分,确保以下配置存在且未被注释:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

保存并退出编辑器,然后重启Nginx服务:

sudo systemctl restart nginx

5. 安全加固措施

  • 修改SSH端口:编辑/etc/ssh/sshd_config文件,更改SSH默认端口为一个非标准端口,例如2222,以减少暴力破解攻击的风险。
  • 启用公钥认证:编辑/etc/ssh/sshd_config文件,将PubkeyAuthentication设置为yes,并禁用密码认证。
  • 配置防火墙:使用ufw允许必要的端口,如SSH(修改后的端口)和HTTP:
sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
  • 设置复杂密码:确保所有用户账户都设置了复杂且难以猜测的密码,并定期更换。
  • 定期更新系统和软件包:使用unattended-upgrades包实现系统的自动更新,并定期手动运行sudo apt update && sudo apt upgrade以安装最新的安全补丁。

6. 测试配置

最后,通过创建一个info.php文件在网站的根目录来测试PHP配置是否正确:


保存文件后,通过浏览器访问服务器的IP地址加上/info.php,如果能看到PHP的信息,则说明配置成功。

以上步骤涵盖了在Ubuntu下安装和配置LNMP环境的基本流程,以及一系列安全加固措施,以确保服务器的安全性和稳定性。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe8feAzsNAwBQA10.html

推荐文章

  • Ubuntu Trigger与任务调度器的区别

    在Ubuntu系统中,任务调度器和触发器(Trigger)是两个相关但不同的概念,它们在任务管理和自动化中各自扮演着重要的角色。
    任务调度器(Scheduler)
    ...

  • ubuntu如何重置系统缓存

    在Ubuntu系统中,重置系统缓存可以通过以下几种方法实现:
    方法一:使用sync和echo命令 同步文件系统缓存:
    打开终端,输入以下命令来同步文件系统缓存...

  • 如何在Ubuntu中利用Python进行机器学习

    在Ubuntu中使用Python进行机器学习,你可以遵循以下步骤: 安装Python:
    Ubuntu系统通常自带Python,但可能不是最新版本。你可以使用以下命令来安装Python ...

  • 如何配置Ubuntu PHP扩展

    要在Ubuntu上配置PHP扩展,请按照以下步骤操作: 更新软件包列表:
    打开终端,运行以下命令以更新您的软件包列表:
    sudo apt-get update 安装PHP扩展:...

  • Ubuntu Informix的扩展功能有哪些

    Ubuntu 和 Informix 是两个不同的产品,它们之间没有直接关联。Ubuntu 是一款流行的 Linux 发行版,而 Informix 是一款关系数据库管理系统(RDBMS)。因此,无法...

  • ubuntu如何管理磁盘碎片

    在Ubuntu系统中,磁盘碎片管理可以通过以下几种方法进行:
    使用 e4defrag 命令
    e4defrag 是专门用于ext4文件系统的碎片整理工具。以下是使用 e4defrag...

  • Debian getconf如何查看内存信息

    在 Debian 系统中,你可以使用 getconf 命令来查询系统配置参数,包括内存相关的信息。以下是一些常用的命令示例: 获取系统总内存大小:
    getconf _PHYS_PA...

  • CentOS为何不再维护

    CentOS不再维护的主要原因是因为其上游发行版Red Hat Enterprise Linux (RHEL) 的策略变化。具体原因如下: 商业策略调整:红帽公司通过收购CentOS吸收了项目社区...