在国外有不少只有IPv6的廉价VPS(有些有NAT映射的IPv4端口),从练手的角度考虑,其实性价比是蛮高的
国内最近两年IPv6的发展也是十分迅速,用IPv6的廉价VPS度过建站的“新手期”或者满足大佬们“探针+1”的欲望是个挺不错的选择(☆▽☆)
I.写在前面
上一次呢用sentris搭建了一个小内存VPS的演示站,结果被论坛的大佬关照了……当然这家也真心是个坑,丝毫不给你解释的余地,直接让你交赎金,怒弃之,顺便当个被套路的活例子吧……
这次写这篇文章是因为 @abysscong 在论坛开了一些免费的IPv6小VPS给mjj们玩,我也就跟风要了一个。
如果你的本地网络支持IPv6的话,直接正常用Xshell和WinSCP就能轻松管理,没有的话……控制面板有VNC……
II.安装环境
对于小内存的VPS,上次在玩Sentris的时候我有讲过,用面板的话具体可以参考
使用128M小内存的VPS安装WordPress
这一次我们换一个不同的思路,用lnmp.org
的LNMP一键包配置环境,然后其他的就用命令行来解决
经过实际测试内存低于96M的话且没有足够的swap在编译中会被kill的,再折腾还是建议128M起步
对于一键包的安装请参考https://lnmp.org/install.html,系统依然是选择CentOS6 x86,软件选择的是PHP7.0和MySQL 5.1,由于是全编译安装,需要时间比较长,耐心等待即可
在这之前对于我手上这个VPS还要解决点问题,商家提供的CentOS6并非minimal版,而且还没ssh客户端……
1 2 3 4 5 6 7 |
#查看httpd的版本 rpm -qa|grep httpd #卸载CentOS自带的httpd(版本号看具体情况替换) rpm -e httpd-2.2.15 rpm -e httpd-tools-2.2.15 #安装OpenSSH服务端 yum install openssh-server |
静候安装完成……
III.调整参数
这是个可有可无的步骤,如果你的VPS内存是256M以上而且具有SWAP。你可以直接略过了……这里修改的参数是按照128M小内存的VPS修改的,自己看着办去改就好了……
调整MySQL运行参数
编辑/etc/my.cnf
文件(记得备份),直接贴上修改的部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[mysqld] port = 3306 socket = /tmp/mysql.sock datadir = /usr/local/mysql/var skip-external-locking key_buffer_size = 2M max_allowed_packet = 1M table_open_cache = 8 sort_buffer_size = 64K net_buffer_length = 8K read_buffer_size = 32K read_rnd_buffer_size = 128K InnoDB_sort_buffer_size = 2M thread_cache_size = 8 query_cache_size = 2M tmp_table_size = 2M #skip-networking max_connections = 15 max_connect_errors = 100 open_files_limit = 65535 log-bin=mysql-bin binlog_format=mixed server-id = 1 expire_logs_days = 10 |
调整PHP-FPM运行参数
编辑/usr/local/php/etc/php-fpm.conf
,把线程数限制降低一些
1 2 3 4 5 |
pm = dynamic pm.max_children = 5 pm.start_servers = 1 pm.min_spare_servers = 1 pm.max_spare_servers = 1 |
然后再把脚本内存限制降低一些,编辑/usr/local/php/etc/php.ini
,修改memory_limit
参数(对小内存的10M足够了)
1 |
memory_limit = 10M |
调整NGINX运行参数
将NGINX进程数限制为1
,编辑/usr/local/nginx/conf/nginx.conf
,修改worker_processes
参数
1 |
worker_processes 1; |
IV.配置IPv6访问
添加vhost及配置SSL
至于添加vhost,lnmp一键包提供了非常简单的命令,具体参考 官方文档
如果要配置SSL,Let's Encrypt
自动申请是无法完成的,去阿里云或者腾讯云都可以签发SSL证书,签发一个把里面的.crt
和.key
文件放到VPS某个文件夹下,在创建vhost的时候填进去就可以了
NGINX开启IPv6监听
安装成功的默认界面通过IPv6访问需要修改/usr/local/nginx/conf/nginx.conf
,将下面这一句取消注释
1 |
listen [::]:80 default_server ipv6only=on; |
然后对于你自己添加的网站,需要去修改/usr/local/nginx/conf/vhost/your.domin.conf
(中间自行替换),取消以下两条的注释
1 2 |
listen [::]:80; listen [::]:443 ssl http2; |
V.使用CloudFlare CDN进行6to4
接入CloudFlare个人推荐使用CF Patner的CNAME接入,同时还可以自行指定CF的节点,提升访问速度
提供几个面板地址:
https://cf.tlo.xyz(已失效)
https://cf.cloudraft.cn
https://cloudflare.oranme.com
添加记录选择AAAA记录,记录值填入IPv6地址即可
然后去你的域名DNS管理那里设置一下CNAME解析
这样配置好之后,你通过套了CF的域名就可以在任何的网络环境下访问你的网站了
VI.配置网站
①文件管理
个人推荐用WinSCP通过IPv6链接sftp,注意IPv6地址在访问的时候需要加上括号[IPv6 Address]
如果你本地环境没有IPv6,那么你可以通过lnmp一键包安装一个ftp客户端,然后通过php的本地ftp工具进行管理;安装FTP参考:https://lnmp.org/faq/ftpserver.html
在这里也提供一个一直在用的在线FTP管理AMFTP,点击下载
(PS这个AMFTP必须得放本地……不然你拿啥解压或者操作……)
只需要把它上传到你的VPS的一个vhost内即可,推荐默认的/home/wwwroot/default
目录
②数据库管理
MySQL 5.1经过测试推荐通过phpMyadmin 4.2.0
版本进行管理(因为更高版本不支持MySQL5.1,更低版本不支持php7),同样推荐上传到默认的/home/wwwroot/default
目录(这个自行百度下载)
③安装网站
不多说了……这个不在本文范畴……
VII.DEMO展示
网站地址:https://blog.moelty.cn
PHP探针:https://blog.moelty.cn/tz.php
实际运行内存占用
最后推荐几个用过的IPv6商家吧:
1.居若科技 IPv6 LXC(优惠码Hostloc50Off,25¥/年,512M,无IPv4映射)
https://console.oranme.com/cart.php?gid=6
2.QuadHost OVZ(4.5€/年,256M,20个IPv4映射端口)
https://quadhost.net/account/cart.php?gid=19
3.Gullo OVZ(优惠码LEB-NAT-128MB,2$/年,128M,20个IPv4映射端口)
Ps:NAT的IPv4通常是被墙了的……
*半原创教程,转载请注明出处
博主,请问一下在CF Patner(CloudRaft CFP)中添加域名时提示“CloudFlare could not detect “域名” as a registered domain.”是怎么回事?直接在cloudflare中是可以添加域名的。
“最后提一句指定节点分线路解析的方案,移动解析到香港节点,联通解析到东京节点,电信解析到美西节点”
请问用的是第三方DNS吗?有没有推荐的?
话说dalao试过用gullo家的2刀小鸡装lnmp嘛。。试了好久都是报错不成功
哈哈,这个确实要有点时间和精力的去玩
生命不息,折腾不止!哈哈哈
【可惜我这个lazyman把博客搞好就失去折腾动力了(摊手)】