LNMP是指Linux、Nginx、MySQL和PHP的组合,常用于搭建网站服务器。在Ubuntu上设置LNMP环境并确保安全性的步骤如下:
sudo apt update
sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo apt install mysql-server
在安装过程中,系统会提示设置MySQL的root密码,请务必设置一个强密码。
sudo systemctl start mysql
sudo systemctl enable mysql
sudo apt install php-fpm php-mysql
编辑Nginx配置文件:
sudo nano /etc/nginx/sites-available/default
在server
块中添加以下内容:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
保存并关闭文件,然后重新加载Nginx配置:
sudo systemctl reload nginx
在/var/www/html
目录下创建一个PHP测试文件:
sudo nano /var/www/html/info.php
在文件中添加以下内容:
<?php
phpinfo();
?>
保存并关闭文件,然后在浏览器中访问服务器的IP地址,如果能够正常显示PHP信息,则安装成功。
编辑/etc/ssh/sshd_config
文件,修改SSH端口为一个非标准端口,以减少被自动扫描的风险。
Port 2222
保存并退出,然后重启SSH服务:
sudo systemctl restart ssh
使用ufw
允许必要的端口,如SSH(修改默认的22端口)和HTTP(80端口):
sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw enable
确保所有用户账户都设置了复杂且难以猜测的密码,并定期更换。
使用unattended-upgrades
包实现系统的自动更新,并定期手动运行:
sudo apt update && sudo apt upgrade
编辑/etc/ssh/sshd_config
文件,将PermitRootLogin
设置为no
,禁止直接通过SSH登录root账户。
PermitRootLogin no
确保PubkeyAuthentication
设置为yes
,使用密钥对进行身份验证。
防止暴力破解攻击,通过编辑/etc/fail2ban/jail.conf
文件进行配置。
通过以上步骤,你可以在Ubuntu上成功搭建LNMP环境,并进行基本的安全设置。但请注意,安全是一个持续的过程,需要定期更新、审计和加固。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:Ubuntu下LNMP安全设置怎么做