说明:很多时候为了加速网站快速访问都会上CDN
,这样一来程序和nginx
日志获取到的访客IP
地址就是CDN
的节点IP
而不是用户的真实IP
了,这时候可以通过设置Nginx
下的ngx_realip
的模块是可以解决这个问题的,一般这个模块是默认没有添加的,不过军哥的lnmp
是有这个模块的,所以设置会简单很多,这里说下具体方法。
方法
以军哥的lnmp
为例,只需要添加些参数即可!
1、在lnmp
安装目录/root/lnmp
下找到lnmp.conf
并编辑Nginx_Modules_Options
。
Nginx_Modules_Options='--with-http_realip_module'
保存后执行./upgrade.sh nginx
来升级下Nginx
就可以了。
2、找到网站配置文件,即/usr/local/nginx/conf/vhost/xx.com.conf
并编辑。在任意一个location
里加入以下参数:
set_real_ip_from 103.138.13.10/34;
set_real_ip_from 107.63.132.0/29;
set_real_ip_from 108.62.120.0/26;
set_real_ip_from 45.113.252.0/26;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
原创文章,作者:南猫,如若转载,请注明出处:https://southcat.net/1607/
不妨点个广告再走嘛
相关推荐
-
Linux/Windows系统安装最新版JAVA教程
说明:我们很多时候都需要用到JAVA环境,这里博主就记录下安装过程。 1、获取最新版JAVA下载链接首先进入JAVA下载地址:点击进入,再点击中间框框右下角的JDK Download按钮进入下载界面,然后点击Accept License Agreement,这时候就可以点击一下对应版本的JAVA JDK包,浏览器下载器会弹出来文件下载,这时候就可以复制下载链接了。 注意别直接将jdk包的超链接当成下载链接,这样下载会出错的。 2、Linux安装这里CentOS、Debian、Ubuntu等常见Linux系统都可以用以下方法安装JAVA。 #下载JAVA JRE包,将你获取的链接替换到后面,下载链接通常为http://xx/jdk_linux-x64.tar.gz?AuthParam=xx wget -O jdk.tar.gz http://xx/jdk_linux-x64.tar.gz?AuthParam=xx #解压文件 tar -zxvf jdk.tar.gz #记住这时候解压出的文件夹路径,比如目前为/root/jdk1.8.0_191 编辑/etc/profile文件: nano /etc/profile 在后面添加以下代码: #前2行后面的参数为解压出的JAVA文件夹路径 JAVA_HOME=/root/jdk1.8.0_191 export JRE_HOME=/root/jdk1.8.0_191/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 使配置生效: source /etc/profile 查看JAVA版本: java -version
-
一个可以将本地文件上传至VPS服务器的工具:jQuery-File-Upload精简美化版
说明:之前老有人问博主除了FTP还有啥方法能把本地文件上传到VPS服务器,这里就分享个工具jQuery-File-Upload,一个文件上传工具,该工具可以上传任何文件,支持在线预览视频,上传后也可以在线删除等等,很方便,而且个人觉得上传比FTP要稳。由于原文件样式很不好看,所以博主就找前端大佬Zero博主帮忙进行精简和美化了下,也小小的适配了手机端。 截图 下载 文件下载:jQuery-File-Upload.zip 为了考虑国内服务器的加载速度,该源码所有资源都本地化了,所以体积比简化前还大。 使用 环境要求:Nginx/Apache、PHP 1、直接使用如果你自己有建站环境,直接将源码丢进网站根目录,再给予server/php/files目录可写入权限即可。上传后的文件保存在server/php/files文件夹,相关上传配置可在server/php/UploadHandler.php里修改。 2、Docker安装如果你只是单纯的想上传文件,这里博主就制作了个Docker镜像,很快就装好了。 安装Docker: #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker 安装jQuery-File-Upload: docker run --name upload -d -p 6800:80 -v /home:/var/www/server/php/files moerats/jquery-file-upload:latest #参数说明 -p 6800:80 前面的6800为容器映射到外部的端口,等于你访问ip:6800就等于访问程序,可自行修改 -v /home:/var/www/server/php/files 将程序里上传的文件映射到服务器的/home文件夹,可自行修改 完成后我们可以通过ip:6800访问程序,并上传文件至/home文件夹。 注意我们需要给映射的文件夹777权限,不然会上传失败。 chmod 777 /home 部分CentOS系统可能需要开启防火墙端口,不然会打不开。 #CentOS 6 iptables -I INPUT -p tcp --dport 6800 -j ACCEPT service iptables save service iptables restart #CentOS 7 firewall-cmd --zone=public --add-port=6800/tcp --permanent firewall-cmd --reload...
-
一款不错的轻论坛程序:Xiuno BBS 4.0搭建教程
说明:之前已经介绍了几个轻论坛程序,参考:极精简论坛Flarum搭建教程,轻量级论坛Carbon Forum搭建教程。今天再介绍个轻论坛程序Xiuno,个人使用之后感觉很简洁。很实用,用的人蛮多的,也有很多插件、模板等,这里简单的说下搭建方法,有兴趣的可以试试。 Xiuno BBS是什么? Xiuno BBS 4.0是2016年诞生的,国产、小巧、精悍的Web产品,后端基于PHP+MySQL,前端基于Bootstrap 4.0+JQuery 3.1,是一套通用的轻论坛系统。 主程序架构采用函数风格的MVC,插件机制采用AOP机制,大大的简化了程序的复杂度,在同等复杂度的功能实现上比同类产品的代码简洁很多,核心只有15个表,非常利于二次开发。 截图 安装 1、搭建web环境我们可以用lnmp、lamp一键包或者宝塔之类的面板来搭建web环境。lnmp安装方法可参考:https://www.southcat.net/archives/61/宝塔安装方法可看:https://www.southcat.net/archives/254/ 2、上传Xiuno BBS程序搭建好web环境后,添加网站并解析,再上传Xiuno BBS程序到网站目录即可。本地下载:xiunobbs_4.0.beta_006.tar.gzGit下载:https://gitee.com/xiuno/xiunobbs 使用git命令下载: #以军哥lnmp为例,命令只作参考。 cd /home/wwwroot/www.yourdomain.com git clone https://git.oschina.net/xiuno/xiunobbs.git mv xiunobbs/* /home/wwwroot/www.yourdomain.com 上传程序后,建立数据库,然后设置如下目录和文件为可写(目录权限为0777)。 ./upload ./tmp ./log ./conf 再访问http://www.domain.com/install/, 根据提示安装。最后删除install目录。 相关操作:URL-Rewrite网址美化(伪静态),性能优化。 相关链接
-
mmPlayer:一款基于Vue的自适应Web在线音乐播放器
说明:一两年前博主曾分享过一个美观的在线音乐播放器MKOnlineMusicPlayer→传送门,不过作者早已停止了维护,最近有小伙伴推荐了mmPlayer,一个使用Vue全家桶打造自适应Web音乐播放器,模仿QQ⾳乐⽹页版界⾯,主要以为PC端为主,移动端只做相应适配(未做歌词显⽰),现已实现播放器、歌词滚动、排⾏榜、搜索、播放历史、同步⽹易云歌单六⼤功能。 截图 功能 播放器 快捷键操作 歌词滚动 正在播放 排行榜 歌单详情 搜索 播放历史 查看评论 同步网易云歌单 安装 Github地址:https://github.com/maomao1996/Vue-mmPlayer 1、安装依赖 #Debian/Ubuntu系统 curl -sL https://deb.nodesource.com/setup_10.x | bash - apt install -y nodejs git screen #CentOS系统 curl -sL https://rpm.nodesource.com/setup_10.x | bash - yum install nodejs git screen -y 2、运行播放器 git clone https://github.com/maomao1996/Vue-mmPlayer.git mmPlayer cd mmPlayer #安装依赖 npm install #开发者运行 npm run serve 访问地址为ip:8080,不过这里是用来调试的,先放着不动,然后再把后端服务器搭建好。 为了避免出现不必要的问题,这里就不直接使用项目中的源码了,直接拉取最新的API。 git clone https://github.com/Binaryify/NeteaseCloudMusicApi.git cd NeteaseCloudMusicApi #安装依赖 npm install #运行 node app.js #或者后台运行 screen -dmS api node app.js 后端地址为ip:3000,如果想改其它端口,比如5555,启动命令为set PORT=5555 && node app.js。 3、修改并打包这里只说下常见的几个修改地方,比如标题、后端api地址修改什么的。 #修改后端api 路径src/config.js,修改const URL = 'http://ip:3000' #修改标题和提示话语 路径src/App.vue和src/components/mm-header/mm-header.vue,自己找关键词自行修改吧 这里如果你想使用https访问该音乐播放器,那还需要使用https域名反代该api地址,然后将反代后的https域名填进去。 接下来再打开ip:8080查看修改效果,不过一般不在本地是用不了的,所以只看标题和提示啥的就行。...
-
解决"-bash: make: command not found"提示问题
前言 在用VPS安装Python环境的时候有出现"-bash: make: command not found"提示问题,一般我们很多时候安装软件也会出现这样的问题。 解决方法 Centos yum -y install gcc automake autoconf libtool make Debian或者Ubuntu apt-get install gcc automake autoconf libtool make
-
利用IDM工具高速下载百度云大文件教程
简介 Internet Download Manager(IDM)是国外的一款优秀下载工具,号称可以提高5倍的下载速度, ,安排下载时程,或续传一半的软件。 这里从网上找了个绿色免安装破解版软件,本地下载地址:IDM v6.28.6 官方网站:http://www.internetdownloadmanager.com 方法 1、先去获取百度云文件的链接地址,方法可以参考:百度网盘直接下载助手 Tampermonkey(油猴)脚本
-
Shiori:一个简单、美观且带Web界面的书签管理器
说明:Shiori是一个用Go语言编写的简单书签管理器,样式直接模仿的Pocket,有着基本书签管理功能,即添加,编辑,删除和搜索。支持导入和导出成Netscape书签文件,也可以从Pocket导入书签。可以通过命令行操作,也自带简单而漂亮的Web界面,适合那些不想使用命令行的,也可以内页浏览书签首页,用起来还行,这里就分享下。 截图 安装 Github地址:https://github.com/go-shiori/shiori 1、安装Docker #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker 2、拉取镜像 docker run -d --name shiori --restart=always -p 8080:8080 -v ~/shiori:/srv/shiori radhifadlillah/shiori 安装好了后,访问地址:http://ip:8080,初始管理员用户名和密码为shiori和gopher。 如果CentOS系统打不开的话,可能还需要开启8080端口,使用命令: #CentOS 6 iptables -I INPUT -p tcp --dport 8080 -j ACCEPT service iptables save service iptables restart #CentOS 7 firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload 像阿里云等服务器,还需要去安全组那里开放下端口。 最后你想绑定域名,那么就进行第3步,直接ip访问就不用绑定了。 3、绑定域名安装Caddy: wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh #备用地址...
-
LNMP之php内存和nginx之CPU优化
一、如果你使用的是lnmp默认的安装的php5.2.17sp1版本 /usr/local/php/etc/php-fpm.conf #优化的文件 找到<value name="max_children">,按你的内存容量修改PHP进程的数量,一般128内存开启6个,256内存开启16个。这样能保证,在PHP大并发的情况下不会502错误。 二、如果您升级到了5.3.x版本 /usr/local/php/etc/php-fpm.conf #优化的文件 pm.max_children = 32 #最多运行数量 pm.start_servers = 16 #开机启动数量 pm.min_spare_servers = 16 #最小运行数量 pm.max_spare_servers = 32 #最大运行数量 需要同时修改这些数字,您可以自行定义,参考上述内容即可。 三、Nginx性能优化CPU参数worker_cpu_affinity使用说明如果2核心: worker_processes 2; worker_cpu_affinity 0101 1010; worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000;
-
使用Docker快速安装Aria2+AriaNg+Filerun/Nextcloud,在线下载BT磁链/在线观看/全功能文件管理/云盘应用
缘由 首先得感谢,@Jaeger几天前发布的帖子:老司机使用docker-pan一键搭建可离线磁力种子的私有云盘,可在线播放预览文件 ->https://www.v2ex.com/t/383801 谢谢! 正是受这个帖子的影响。也是因为使用了那个docker-pan镜像。让我觉得我很需要这个功能,而且这个镜像本身稳定性方面也有一些可以提升的空间。于是才有了这里的东西。 我主要是使用了docker-compose来搭建这样一个应用。为什么? 使用Docker-compose让每个docker镜像只做一件事,则其本身会更加稳定,不易受其他组件的影响,也更方便管理。 另外一个Nextcloud比filerun更好用,更稳定,还有各种移动端,桌面端的client。(在手机上使用也更方便),不需要外置数据库就可以使用(少了一个不稳定因素)。 代码地址:https://github.com/wahyd4/aria2-ariang-x-docker-compose 同时提供了Aria2+AriaNg+filerun和Aria2+AriaNg+Nextcloud两种方案,供大家选择。 比较Filerun和Nextcloud 我的推荐 我更喜欢Nextcloud。毕竟颜值更高,功能强大还有各种客户端,大家从下面的两种方式中选择一种就好。 使用 提示:如果你不是在本地安装,请记得替换localhost为你的ip或者绑定的域名哦!! 1、安装Docker CE(社区版),不要使用Ubuntu等操作系统系统自带的安装包来安装,因为他们的版本都很老了。推荐使用官方提供的方式安装。 2、安装Docker Compose:https://docs.docker.com/compose/install/#install-compose。 3、使用Filerun作为在线文件管理器: git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git cd aria2-ariang-x-docker-compose/filerun docker-compose up -d 一切搞定,尽情享受吧!文件管理Filerun:http://ip:8000AriaNg:http://ip:8000/aria2/ 4、使用nextcloud安装 git clone https://github.com/wahyd4/aria2-ariang-x-docker-compose.git cd aria2-ariang-x-docker-compose/nextcloud docker-compose up -d 文件管理Nextcloud: http://ip:8000AriaNg:http://ip:8000/aria2/ Nextcloud还需额外的一点手动操作。 Nextcloud配置external-storage 1、打开http://ip:3000使用你喜欢的任意密码进行登录。2、点击右上角设置->应用。3、启用External storage support插件, 并输入密码确认。4、点击右上角 设置->管理->外部存储 进行添加外部存储,Aria2下载的文件会存在/user-files/目录下,存储类型选择本地存储,当存储添加成功,且可用时,最左端会显示出绿色。搞定,现在你通过AriaNg下载的文件就可以在Nextcloud里面查看到了。 如果你仅仅想使用Aria2+AriaNg docker run --rm -p 8000:80 -p 6800:6800 -v ~/data/:/user-files wahyd4/aria2-ariang 8000本地则是你暴露出对外访问的AriaNg图形界面的端口,~/data/是你所有通过Aria2下载的文件目录。 如果你在群晖上使用 先运行wahyd4/aria2-ariang容器,再运行wonderfall/nextcloud容器,并使用volume_from属性即可实现完整功能了。 相关说明 1、又去了解了了下,Nextcloud确实很强大,有很多插件!安装完这些插件Nextcloud就是一个工作平台,一个效率工具啊。 比如: 在线word编辑 markdown编辑 Calendar客户端 邮件客户端 视频电话 通信录 Kanban等等...... 详见:https://apps.nextcloud.com/categories/files 2、看到很多人使用v2ex的收藏,建议大家也可以在github上面︎哦持续关注,多谢。https://github.com/wahyd4/aria2-ariang-x-docker-compose 3、有什么新需求的,欢迎到Github上给我提issue啊,这样才更加方便跟踪和管理。https://github.com/wahyd4/aria2-ariang-x-docker-compose/issues 4、刚刚对镜像进行了升级。新版本中只需要使用一个端口8000。aria2地址:http://ip:8000/aria2/文件管理地址:http://ip:8000 如果你是升级,进入filerun或者nextcloud目录: docker-compose stop # 将 docker 镜像暂时关掉 git pull origin master # 获取最近代码 docker-compose...
-
Linux VPS安装DNSmasq搭建自己的DNS服务器
简介 DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。自己搭建公共DNS更加灵活,如果是在本地搭建,还可以大幅提高解析速度。 安装DNSmasq 可以下载软件包编译安装,不过一般Linux软件仓库已经提供了DNSmasq,相关命令如下: #centos安装 yum -y install dnsmasq #如果是ubuntu系统 apt-get -y install dnsmasq 配置DNSmasq DNSmasq配置文件在/etc/dnsmasq.conf,我们需要修改几个参数,分别为: resolv-file=/etc/resolv.dnsmasq.conf这个参数表示dnsmasq会从这个指定的文件中寻找上游dns服务器。 取消注释的strict-order,表示严格按照resolv-file文件中的顺序从上到下进行DNS解析, 直到第一个成功解析成功为止。 注释掉no-hosts, 默认情况下这是注释掉的,dnsmasq会首先寻找本地的hosts文件再去寻找缓存下来的域名,最后去上游 dns服务器寻找。 设置listen-address=0.0.0.0, 0.0.0.0改成服务器公网IP。 我们来整理下上面我们修改了那些配置内容 #需要新建一个resolv.dnsmasq.conf文件,这个是配置上游DNS,也就是真正的公共DNS vi /etc/resolv.dnsmasq.conf #内容如下 nameserver 119.29.29.29 nameserver 1.2.4.8 #修改/etc/dnsmasq.conf #上游DNS路径 resolv-file=/etc/resolv.dnsmasq.conf #取消strict-order注释 strict-order #监听地址0.0.0.0对所有网络有效 listen-address=0.0.0.0 使用方法 DNSmasq可以设置不同的域名指定不同的DNS进行解析,修改/etc/dnsmasq.conf文件即可,若不对域名设置DNS,则从上游DNS获取记录。 #指定淘宝使用114 DNS进行解析 server=/taobao.com/114.114.114.114 #google指定8.8.8.8进行解析 server=/google.com/8.8.8.8 也可以对指定的域名进行解析,相当于就是本地hosts指向,可以利用这个功能实现广告屏蔽等效果。也是需要修改/etc/dnsmasq.conf文件,DNSmasq也可以对域名进行泛解析,填写*.southcat.net,这样的格式即可。 #将广告域名指向到127.0.0.1实现广告屏蔽 address=/ad.youku.com/127.0.0.1 address=/ad.iqiyi.com/127.0.0.1 #对southcat.net进行泛解析 address=/*.southcat.net/132.165.25.188 启动与测试 #启动 /etc/init.d/dnsmasq start #停止 /etc/init.d/dnsmasq stop #重新启动 /etc/init.d/dnsmasq restart 比如我在本地一台Linux服务器(192.168.20.127)安装了DNSmasq,并在局域网内其它PC将DNS配置为192.168.20.127,使用dig命令进行测试,第一次查询相对较长,第二次几乎再10ms内,如下截图。 总结 如果是在内网搭建DNSmasq,不仅可以提高解析速度,还可以有效的防止DNS劫持,实现屏蔽广告等作用。如果是在公网搭建DNSmasq,还可以对指定的域名解析hosts指向,从而避免DNS污染,实现fq。 如果您发现DNSmasq启动正常,但就是无法解析,请注意防火墙是否放行tcp/upd 53端口。