如果开启了cf的cdn,需要获取到用户真实ip,则需要用到nginx的realip模块
我使用的是nginx-generic-1.24通用版
在amh中,nginx-generic-1.24通用版没有编译realip模块
安装amh
wget https://dl.amh.sh/amh.sh && bash amh.sh nginx-generic-1.24,mysql-generic-5.7,php-generic-7.4
Nginx编译
首先查询nginx.conf所在目录
find /etc/nginx /usr/local/nginx* /usr/local/etc/nginx -name nginx.conf 2>/dev/null
下载 Nginx 源代码:
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
配置编译选项:
./configure --prefix=/usr/local/nginx-generic-1.24 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_gzip_static_module
编译并安装:
make
sudo make install
重新加载 Nginx 配置,或者后台重启nginx
amh nginx reload
PATH 环境变量
将 Nginx 的 sbin 目录添加到 PATH 环境变量 (可选):
编辑 ~/.bashrc
nano ~/.bashrc
并在其中添加以下行:
export PATH=$PATH:/usr/local/nginx-generic-1.24/sbin
使其生效
source ~/.bashrc
模块查询
realip模块
nginx -V 2>&1 | grep -i --color=auto "http_realip_module"
gzip_static 模块(可选)
nginx -V 2>&1| grep -o http_gzip_static_module
Nginx配置修改
新建文件 cf.conf
nano /usr/local/nginx-generic-1.24/conf/cf.conf
添加以下内容
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;
real_ip_header CF-Connecting-IP;
real_ip_recursive on;
修改nginx.conf:
nano /usr/local/nginx-generic-1.24/conf/nginx.conf
在http
处添加
include cf.conf;
在gzip on;
下方添加(可选,本人网站需要用到静态压缩)
gzip_static on;
重启nginx
amh nginx reload
amh nginx restart
禁止通过ip访问网站
- 新建以ip为域名的
虚拟主机
,绑定域名
处填写ip地址 - 新建URL规则:
return 444;
- 将虚拟主机规则指向新建的URL规则
或者使用以下脚本一键设置
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/create_default_config.sh && chmod +x create_default_config.sh && ./create_default_config.sh
苹果cms的设置
- 根目录删除
.user.ini
文件 - 如果导入数据库文件后缀为
sql.gz
, 先解压为sql
- 修改数据库信息
- 是否开启监听端口远程访问,选择
开启
- 伪静态规则
- /runtime/temp 需要写入权限
- 若要修改配置,application目录设置成777
- /upload/vod/ 权限设置成777,如果需要下载图片到本地或者远程
伪静态注意事项: 把admin.php改成后台地址,例如:1234.php 不然无法访问后台
location / {
if (!-e $request_filename) {
rewrite ^/index.php(.*)$ /index.php?s=$1 last;
rewrite ^/admin.php(.*)$ /admin.php?s=$1 last;
rewrite ^/api.php(.*)$ /api.php?s=$1 last;
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
AMH 命令
nginx篇
amh nginx start
amh nginx stop
amh nginx reload
amh nginx restart
mysql篇
amh mysql start
amh mysql stop
amh mysql reload
amh mysql restart
amh mysql force-reload
卸载AMH
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/uamh.sh && chmod +x uamh.sh && ./uamh.sh