安装nginx和php
按照以下步骤安装Nginx,并设置为能够处理PHP和HTML:
更新你的系统:
sudo yum update -y
安装Nginx:
sudo yum install nginx -y
启动Nginx并设置Nginx在启动时自动启动:
sudo service nginx start
sudo chkconfig nginx on
安装PHP和必要的PHP扩展,这里我们安装PHP 7.2作为示例:
sudo amazon-linux-extras enable php7.2
sudo yum clean metadata
sudo yum install php php-{fpm,pear,cgi,common,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,zip,iconv} -y
启动php-fpm并设置php-fpm在启动时自动启动:
sudo service php-fpm start
sudo chkconfig php-fpm on
编辑Nginx的默认配置文件以处理PHP。你可以使用
sudo vim /etc/nginx/nginx.conf
命令打开配置文件,然后在server
块中添加以下内容:(sever块)
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
}
重启Nginx和php-fpm:
sudo service nginx restart
sudo service php-fpm restart
可以在Nginx的站点根目录(默认为/usr/share/nginx/html)下创建.php和.html文件进行测试。
8.anzhjuang 测试语法错误
sudo nginx -t
安装 iptables-services
:(即为防CC)
sudo yum install -y iptables-services
然后启动 iptables
并设置为开机启动:
sudo systemctl start iptables
sudo systemctl enable iptables
现在,你应该可以使用 iptables
命令了。然后,你可以再次尝试运行之前的命令来限制 HTTP 请求的频率。
限制每分钟请求数命令
使用防火墙限制请求频率:大多数Linux发行版都包含了iptables
防火墙工具,你可以使用它来限制单个IP地址在单位时间内的请求次数。例如,以下命令将限制每分钟来自同一个IP地址的HTTP请求不超过60次:
sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 60/min --limit-burst 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
如果你想撤销通过 iptables
设置的特定规则,你可以使用 iptables -D
命令。这需要你指定与想要删除的规则完全相同的参数。在你的情况下,可以使用以下命令撤销你添加的两条规则:
sudo iptables -D INPUT -p tcp --dport 80 -m limit --limit 500/min --limit-burst 20 -j ACCEPT
sudo iptables -D INPUT -p tcp --dport 80 -j DROP
在执行上述命令后,这两条规则应该就被从 iptables
中删除了。
使用Fail2ban:Fail2ban是一种入侵防护系统,它可以检测日志中的恶意行为,并在检测到攻击时动态地更新防火墙规则以阻止攻击者的IP地址。
使用Web应用防火墙(WAF):一些现代的Web服务器软件,如Nginx和Apache,都支持使用模块或插件来增加WAF功能。这些WAF可以配置规则来阻止CC攻击。
使用CDN和DDoS防护服务:许多CDN供应商,如Cloudflare和AWS CloudFront,都提供了对CC攻击和DDoS攻击的防护。将你的网站放在这样的CDN后,可以有效地抵挡大多数网络攻击。
限制并发连接数和请求速率:在web服务器配置中,可以限制单个IP的并发连接数和请求速率。
如果你想给一个目录及其所有子目录和文件赋予读/写权限,你可以使用-R
选项(表示递归)和a+rw
(表示给所有用户赋予读/写权限):
chmod -R a+rw /usr/share/nginx/html/