一、功能与特点 支持多种不同Linux系统 一键安装Aria2 + Caddy + YAAW 使用FileFileManager作为文件管理器 离线下载 + 视频在线播放 二、一键安装Aria2 + YAAW 1、安装wget、unzip等

Centos系统

1
yum -y install wget unzip

Debian or Ubuntu系统

1
apt-get install -y wget unzip

2、安装Aria2 + YAAW wget https://zhujiwiki.com/usr/uploads/2017/12/aria2.zip unzip aria2.zip && cd aria2 && chmod u+x *.sh && ./install_aria2.sh Aria2-YAAW1.png 注意:Aria2授权令牌建议用字母 + 数字组合,最好不要含有特殊符号,尤其是@之类的符号,以免出现不必要的问题。 Aria2-YAAW2.png 安装完成后会看到如下信息,建议将信息保存。 Aria2-YAAW3.png 三、使用Aria2 + YAAW 安装完成后输入http://IP:6080进行访问,输入您刚刚设置的用户名、密码,就可以看到YAAW。 Aria2-YAAW4.png Aria2-YAAW5.png 点击右上角“Setting”按钮,在JSON-RPC Path那里输入安装完后显示的RPC地址:http://token:abc123@IP:6800/jsonrpc,然后保存。 Aria2-YAAW6.png 添加下载任务 只要配置没有问题的情况下,点击“Add”按钮添加一个下载任务试试。 Aria2-YAAW7.png 管理文件 输入http://IP:6080/admin进入FileManager可以看到所有文件,下载的文件保存在download目录,其它文件请不要随意修改,以免出现异常。 Aria2-YAAW8.png 四、相关命令

启动

/data/aria2/aria2.sh start

停止

/data/aria2/aria2.sh stop

重启

/data/aria2/aria2.sh restart

卸载

cd aria2-master && ./uninstall.sh

Caddy server配置文件

/data/aria2/caddy.conf

Aria2配置文件

/data/aria2/aria2.conf

离线下载目录

/data/aria2/download via:https://www.xiaoz.me/archives/9694 五、下面是个一键安装Aria2+Ariang+Filemanager+H5aii脚本的脚本 debian测试通过

1
wget --no-check-certificate https://raw.githubusercontent.com/Thnineer/Bash/master/aria2u.sh && chmod +x aria2u.sh && bash aria2u.sh

via:http://www.hostloc.com/forum.php?mod=redirect&goto=findpost&ptid=412979&pid=5048605

为什么用HE.NET?

HE.NET是我在2004年前后就接触过的服务商,后来我的服务器都放到Theplanet,然后Theplanet的一批工程师独立创建了Softlayer,再之后Softlayer被IBM收购,再反过来收购Theplanet,我的N台服务器终于都集中到一家了。至始至终,和he.net交流询价过无数次,但是始终没能合作。 2000年前后无聊去做一个DNS工具,其实就是打算在Windows上完全从零开始实现一个带图形界面的DNS查询工具。已发布版本支持了很多常见的DNS记录类型,新版本支持一些DNSSEC(Domain Name System Security Extensions),但是后来忙别的事情,就没去耐心去做去了。做的过程要测试啊,我在DNS服务器里设置好对应的记录,然后再用我实现的工具去查询,藉此判断我的工具实现的是否正常。 虽然我的几台独立服务器都装着DNS服务,但是手动去改配置文件太麻烦,风险也高,万一搞死了就会挨骂。于是我就去找一些DNS服务商测试,找来找去,发现HE.NET对各种记录支持的最全面*。于是它就成了我测试DNS的首选服务商。 Dynamic DNS 服务商好多家,但是既然HE.NET支持,我就不舍近求远啦。

DNS和 Dynamic DNS

要说Dynamic DNS,就不得不提**DNS(域名解析服务);要提DNS,就不得不提域名。 简单的讲,互联网的主机靠IP来区分,要访问一台主机上的服务(HTTP、 FTP、EMAIL、DATABASE等)我们首先要知道对方的IP地址。但是互联网的主机千千万,抽象的IP地址根本无法记忆,而域名就是给这个地址起一个好记的名字。所以,我们就可以通过www.baidu.com这样的域名来访问到百度,通过www.taobao.com这样的域名来访问到淘宝。 而从域名到IP的过程,就是域名解析,是由域名解析服务器(Name Server)来完成的。 而另外一种场景就是分配给主机的IP不时的变化。 这时如果使用普通的域名解析服务,我们需要不时的修改解析记录,来将域名指向更新后的IP。这时会有一些问题存在,比如变化频繁,修改工作量大;变化时机不定,无法确定何时修改。 Dynamic DNS 很好的解决如上问题,它的基本原理就是,当主机关联的IP变化时,自动更新解析记录**。 所以,屏蔽掉一些技术细节,通俗的讲:

  • 互联网上的主机靠IP区分和访问。
  • 域名给IP地址起了个好记的名,从域名到IP的过程就是域名解析。
  • Dynamic DNS自动更新解析记录,适合关联到主机的IP不时变化的场景。

(本小节文本来自我以前在其它网站发表的原创文章,如果你找到雷同的,没错,那就是我写的 ?)

HE.NET的Dynamic DNS

关于他们的DNS服务以及Dynamic DNS的使用细节,请参考:https://dns.he.net/

大致步骤

注册之类的非常简单,大家按提示操作即可,这里就不赘述了,只列出一些关键步骤。

  • 将要解析的域名DNS设置为HE.NET的DNS
  • 在HE.NET的DNS面板中添加域名
  • 添加对应的解析记录(比如A记录),并选取“Enable entry for dynamic dns”
  • 生成用于DDNS客户端的密码(Generate the key used for dynamic DNS updates)
  • 在主机上使用DDNS client。(设置定时任务)

操作实例

  • 将域名DNS设置为HE.NET的DNS
  • 在HE.NET的DNS面板中添加域名
  • 添加对应的解析记录
  • 生成用于DDNS client的密码
  • 设置DDNS client crontab -e 添加如下代码: */5 * * * * curl "https://dyn.dns.he.net/nic/update" -d "hostname=iot0.xxxx.com" -d "password=XXXXXX" -k 代码部分可以查阅: https://dns.he.net/
    好啦,大功告成啊。 想测试是否成功,ping一下域名,看看显示的IP 再用一些查看公网IP的工具,看一下两者是否一致就可以啦。 或者你已经设置好了NAT的端口转发以及开启了对应的HTTP服务之类的,那么直接访问域名就可以看到网站喽。是不是非常简单!

总结

本文简单介绍了域名、DNS、Dynamic DNS的原理。 并以HE.NET的DNS服务为例,为iot0.xxxx.com添加了一个Dynamic DNS的A Record。 限于篇幅,对一些技术细节只做通俗的解释,想了解对应知识的,请参阅相应的技术文档。

仅限于OpenVZ VPS,共2个,第一个手动安装,第二个自动安装。 KVM或者Xen VPS、独立服务器请使用: 1、TCP加速:BBR 一键安装 2、TCP加速:BBR 增强版 for Debian/Ubuntu 一、下面这个适用于Ubuntu 14.04 x64、Ubuntu 16.04 x64、CentOS 6 x64、CentOS 7 x64等64位系统,要求 glibc 版本 2.14 以上。 SSH下操作。 (一)、停止防火墙

1
2
systemctl disable firewalld
systemctl stop firewalld

(二)、安装BBR

1
2
3
wget https://zhujiwiki.com/usr/uploads/2017/11/ovz-bbr-installer.sh
chmod +x ovz-bbr-installer.sh
./ovz-bbr-installer.sh

需要配置的有如下几个选项: 1.需要加速的端口,即的 SS 端口。加速开启之后,流量会先经过 BBR 处理,之后再发送给后端的 SS。 2.可能需要配置 “公网接口名称”,即你服务器上具有公网 IP 的接口名称。 (三)、卸载BBR

1
./ovz-bbr-installer.sh uninstall

(四)、判断 BBR 已正常工作 ping 10.0.0.2,如果能通,说明 bbr 已经启动。 via:https://blog.kuoruan.com/116.html 二、下面是其他博主的一键安装包(LKL BBR RINETD),适用于CentOS/RHEL7+,Ubuntu15+,Debian8+:

1
curl https://zhujiwiki.com/usr/uploads/2017/11/rinetd.sh  bash

ovz-bbr-port.jpg via:https://github.com/mixool/rinetd

仅限KVM VPS,需更换内核。其他BBR脚本: a、TCP加速:BBR 一键安装 b、TCP加速:BBR 增强版 for Debian/Ubuntu c、OpenVZ VPS 安装 Google BBR 一键脚本 安装过程如下: 1、将系统内核更换成 4.12 内核

1
rpm -ivh https://zhujiwiki.com/usr/uploads/2017/11/kernel-ml-4.12.10-1.el6.elrepo.x86_64.rpm

然后重启。 2、修改引导文件

1
vi /boot/grub/grub.conf

bbr-centos6-1.jpg 将 default=1 改成default=0,然后重新启动。 3、查看当前是否使用的是4.12.10-1的内核

1
uanme -a

bbr-centos6-2.jpg 4、更新以下文件

1
2
3
yum remove kernel-headers -y 
rpm -ivh https://zhujiwiki.com/usr/uploads/2017/11/kernel-ml-headers-4.12.10-1.el6.elrepo.x86_64.rpm
rpm -ivh https://zhujiwiki.com/usr/uploads/2017/11/kernel-ml-devel-4.12.10-1.el6.elrepo.x86_64.rpm

5、进行BBR魔改操作

1
2
3
4
5
6
7
8
9
10
yum install -y make gcc 
wget -O ./tcp_tsunami.c https://zhujiwiki.com/usr/uploads/2017/11/tcp_tsunami.c
echo "obj-m:=tcp_tsunami.o" > Makefile
make -C /lib/modules/$(uname -r)/build M=`pwd` modules CC=/usr/bin/gcc
chmod +x ./tcp_tsunami.ko
cp -rf ./tcp_tsunami.ko /lib/modules/$(uname -r)/kernel/net/ipv4
insmod tcp_tsunami.ko
depmod -a
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=tsunami" >> /etc/sysctl.conf

6、运行 sysctl -p 将内核参数生效。 7、重启。 8、查看是否成功

1
lsmod  grep tsunami

bbr-centos6-3.jpg via:https://www.shaobing.hk/post/8.html

大家好!

随心博客已经彻底沦陷了。

现在变成一年一更新了……

上一次更新了一堆文章,结果VPS挂了,都没了,于是心灰意冷,闲置了好久……

这次想写一篇关于CentOS安装OpenVZ并配置OpenVZ Web Panel的文章,话说天下文章一大抄,抄来抄去都变了样。如何你第一次使用CentOS安装OpenVZ的话,你一定会跟我一样,被各种奇葩粘贴复制的文章弄的抓狂。好吧,今天随心就发挥特长,把所有网上的奇葩文章整合成一篇完成的教程,看了我的教程你绝对不会走弯路的,哇咔咔。

注意:本教程的方法建立在基于KVM构架的VPS或独立服务器上,其他的环境就不要试了,免得你伤心……

前提准备:VPS或服务器安装CentOS 6及以上系统。update系统,并安装vim编辑器。

1、关闭selinux并配置iptables(重要)

vim /etc/sysconfig/selinux
添加内容:
SELINUX=disabled
保存

开放iptables的3000端口或vim /etc/sysconfig/iptables

/sbin/iptables -I INPUT -p tcp –dport 3000 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart

2、安装OpenVZ

配置YUM源(这个办法你在网上搜到的所有相关教程全部失效,还是我总结的方法可以用,骚年)

cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ

yum update -y

安装OpenVZ内核和vzctl、vzquota等工具

yum install vzkernel
yum install vzctl vzquota

配置OS内核参数,进入/etc/sysctl.conf文件,修改下面两个参数

为了让VE访问外部网络,需要对IP进行转发
net.ipv4.ip_forward = 1
主要是控制对kernel系统信息的debug功能
kernel.sysrq = 1

使上面的配置文件生效

modprobe bridge
lsmodgrep bridge

现在reboot,重启后检查VZ服务是否运行

chkconfig –list vz
返回如下信息则代表正在运行
vz 0:off 1:off 2:on 3:on 4:on 5:on 6:off

启动之前可以先检查一下OpenVZ服务时候已经启动了
service vz status
service vz start

3、安装OpenVZ Web Panel

wget -O - https://raw.githubusercontent.com/sibprogrammer/owp/master/installer/ai.sh sh

安装结束后,使用如下信息登录控制面板

http://:3000

最后这个问题是所有教程都没有写的,一个非常奇葩的问题,当你安装好OWP后,你无法下载系统模版,也就无法创建VZ。哈哈,这个问题困扰了我几天,终于在github里发现了解决办法。引起这个BUG的原因就是一个重要的进程文件hw-daemon.rb被覆盖为空文档了,解决的办法就是重新写入这个文件的内容。

vim /opt/ovz-web-panel/utils/hw-daemon/hw-daemon.rb
复制一下内容
#!/usr/bin/env ruby

require ‘webrick’
require ‘xmlrpc/server.rb’

workaround for clients with incorrect DNS records

Socket.do_not_reverse_lookup = true

ENV[‘PATH’] += ‘:/usr/sbin’

DAEMON_VERSION = ‘1.3’
CURRENT_DIR = File.expand_path(File.dirname(__FILE__)) + ‘/‘
CONFIG_FILE = CURRENT_DIR + ‘hw-daemon.ini’
PID_FILE = CURRENT_DIR + ‘hw-daemon.pid’
LOG_FILE = CURRENT_DIR + ‘hw-daemon.log’
SSL_CERT_FILE = CURRENT_DIR + “/certs/server.crt”
SSL_PKEY_FILE = CURRENT_DIR + “/certs/server.key”

$SERVER_ADDRESS = “0.0.0.0”
$SERVER_PORT = 7767
$AUTH_KEY = “”
$DEBUG = false
$LOG = WEBrick::Log.new(LOG_FILE)

$SSL_ENABLE = false
$SSL_CERT = ‘’
$SSL_PKEY = ‘’

$THREADS = {}

class HwDaemonApiHandler < XMLRPC::WEBrickServlet

def version
DAEMON_VERSION
end

def exec(command, args = ‘’)
output = `#{command} #{args} 2>&1`
exit_code = $?
$LOG.debug(“Exec command: #{command} #{args}; code: #{exit_code}; output:\n#{output}”)
{ ‘exit_code’ => exit_code >> 8, ‘output’ => output }
end

def job(command, args = ‘’)
job_id = generate_id

t = Thread.new do
  result = self.exec(command, args)
  $THREADS\[job\_id\]\['result'\] = result
end    

$THREADS\[job\_id\] = { 'thread' => t }

{ 'job\_id' => job\_id }

end

def job_status(job_id)
found = $THREADS.has_key?(job_id)
result = ‘’

if found
  alive = $THREADS\[job\_id\]\['thread'\].alive?
  result = $THREADS\[job\_id\]\['result'\] unless alive
end

{ 'found' => found, 'alive' => alive, 'result' => result }

end

def write_file(filename, content)
File.open(filename, ‘w’) { file file.write(content) }
$LOG.debug(“Writing file: #{filename}”)
end

def service(request, response)
WEBrick::HTTPAuth.basic_auth(request, response, ‘’) do user, password
user == ‘admin’ && password == $AUTH_KEY
end

super

end

def handle(method, *params)
$LOG.debug(“Execute method: #{method}”)
super
end

private

def generate_id
symbols = [(‘0’..’9’),(‘a’..’f’)].map{ i i.to_a }.flatten
(1..32).map{ symbols[rand(symbols.length)] }.join
end

end

class HwDaemonUtil

def initialize
check_environment

if (0 == ARGV.size)
  do\_help
end

load\_config
$LOG.level = WEBrick::Log::DEBUG if $DEBUG

if $SSL\_ENABLE
  require 'webrick/https'
  $SSL\_CERT = OpenSSL::X509::Certificate.new(File.open(SSL\_CERT\_FILE).read) if File.readable?(SSL\_CERT\_FILE)
  $SSL\_PKEY = OpenSSL::PKey::RSA.new(File.open(SSL\_PKEY\_FILE).read) if File.readable?(SSL\_PKEY\_FILE)
end

command = ARGV\[0\]

case command
  when 'start'
    do\_start
  when 'stop'
    do\_stop
  when 'restart'
    do\_restart
  when 'status'
    do\_status
  else
    do\_help
end

end

def check_environment
if RUBY_VERSION !~ /1\.8\..+/
puts “Ruby #{RUBY_VERSION} is not supported.”
exit(1)
end

if !File.exists?('/proc/vz/version')
  puts "Daemon should be run on the server with OpenVZ."
  exit(1)
end

end

def do_start
puts “Starting the daemon…”

servlet = HwDaemonApiHandler.new
servlet.add\_handler("hwDaemon", servlet)   
servlet.set\_default\_handler do name, \*args
  raise XMLRPC::FaultException.new(-99, "Method #{name} missing or wrong number of parameters!")
end

server = WEBrick::HTTPServer.new(
  :Port => $SERVER\_PORT,
  :BindAddress => $SERVER\_ADDRESS,
  :Logger => $LOG,
  :SSLEnable => $SSL\_ENABLE,
  :SSLVerifyClient => ($SSL\_ENABLE ? OpenSSL::SSL::VERIFY\_NONE : nil),
  :SSLCertificate => $SSL\_CERT,
  :SSLPrivateKey => $SSL\_PKEY,
  :SSLCertName => \[ \[ "CN", WEBrick::Utils::getservername \] \]
)

server.mount('/xmlrpc', servlet)

\['INT', 'TERM'\].each { signal trap(signal) { server.shutdown } }

WEBrick::Daemon.start do
  write\_pid\_file
  server.start
  delete\_pid\_file
end

end

def do_stop
if (File.exists?(PID_FILE))
pid = File.read(PID_FILE)
$LOG.debug(“Killing process with PID #{pid.to_i}”)
Process.kill(‘TERM’, pid.to_i)
end

puts "Daemon was stopped."

end

def do_restart
do_stop
do_start
end

def do_status
if (File.exists?(PID_FILE))
puts “Daemon is running.”
else
puts “Daemon is stopped.”
exit(1)
end
end

def do_help
puts “Usage: ruby hw-daemon.rb (startstoprestartstatushelp)”
exit(1)
end

def load_config
file = File.new(CONFIG_FILE, ‘r’)

while (line = file.gets)
  key, value = line.split('=', 2).each { v v.strip! }
  
  case key
    when 'address'
      $SERVER\_ADDRESS = value
    when 'port'
      $SERVER\_PORT = value
    when 'key'
      $AUTH\_KEY = value
    when 'ssl'
      $SSL\_ENABLE = true if value == 'on'
    when 'debug'
      $DEBUG = true if value == 'on'          
  end
end

file.close

end

def write_pid_file
open(PID_FILE, “w”) { file file.write(Process.pid) }
end

def delete_pid_file
if File.exists?(PID_FILE)
File.unlink PID_FILE
end
end

end

HwDaemonUtil.new

现在就可以开始创建OVZ小鸡了,可以愉快的玩耍了!

微魔已经在网站上发布了多篇备份相关的文章,希望大家在其中已经获得了自己想要的东西,现在,微魔再补充一下Rsync备份的相关内容,提到Rsync,很多熟识Linux的朋友都不会陌生,很多Linux的镜像都是采用这种方式进行同步的。网络上更是有很多人采用了Rsync配合DNS,为网站架设多个镜像站点的案例。本文仅粗浅的介绍一个使用Rsync进行网站备份的方法,也欢迎大家补充更多内容。

首先,我们假定网站所在的服务器为A服务器,备份服务器为B服务器。安装rsync的方法就不说了,Linux直接yum/apt-get install rsync就可以了

1.用ssh-key-gen命令在A服务器上创建公钥和密钥(目的是免密码登录B服务器)

ssh-keygen -t rsa

2.在A服务器上运行ssh-copy-id命令把公钥复制到B服务器(.ssh/authorized_key)上

ssh-copy-id -i ~/.ssh/id_rsa.pub root@B服务器的ip

期间需要输入B服务器的密码

如果出现形如如下错误

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xxxxxxxx
Please contact your system administrator.
Add correct host key in /home/conbar/.ssh/known_hosts to get rid of this message.
Offending key in /home/conbar/.ssh/known_hosts:10
RSA host key for xxxxxx has changed and you have requested strict checking.
Host key verification failed.

在A服务器下运行如下命令

ssh-keygen -R B服务器的ip

3.在A服务器上尝试登录B服务器

ssh B服务器ip

如果成功就没问题了 4.A服务器建立备份脚本(本文示例是在/root下建立了backup.sh文件): 示例1(先打包再同步):

#!/bin/bash
echo “Now packing your database…”
mysqldump -uroot -p数据库密码 数据库名称> backup.sql
echo “Now your files…”
tar zcvfP backup.tar.gz 网站目录(如/home/wwwroot)
echo “rsync start…”
echo “Database file is under rsync…”
rsync -avz -e “ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null” –progress /root/backup.sql B服务器ip:/home/
echo “Now your files…”
rsync -avz -e “ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null” –progress /root/backup.tar.gz B服务器ip:/home/
echo “Complete!”

示例2(直接同步网站目录,可实现增量备份):

#!/bin/bash
echo “Now packing your database…”
mysqldump -uroot -p数据库密码 数据库名称> backup.sql
echo “rsync start…”
echo “Database file is under rsync…”
rsync -avz -e “ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null” –progress /root/backup.sql B服务器ip:/home/
echo “Now your files…”
rsync -avz -e “ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null” –progress /home/wwwroot B服务器ip:/home/
echo “Complete!”

5.为备份脚本增加运行权限

chmod +x backup.sh

运行sh backup.sh进行备份尝试

6.设置crontab(crontab -e命令)进行定期备份(每周二、周四凌晨4点开始备份)

# m h dom mon dow command
0 4 * * 1,4 /bin/bash /root/backup.sh

LAMP教程尽管现在网络上流行着各种各样的一键安装包,但是对于新手朋友来讲,似乎并不利于学习和掌握其中的乐趣,而微魔接触到的很多教程又片面的强调全面,让人阅读起来晦涩难懂。微魔今天准备给大家带来一个极其初级的教程,旨在能够帮助新手朋友能够更快的上手。今天的主题是,最简单的方法设置一个支持html的web服务器。服务器软件微魔选用了轻量级且对于静态页面支持给力的Nginx(当然你也可以选择Apache),本文因为只涉及到了HTML静态页面,因此不需要MySQL等数据库以及PHP等脚本的支持。

【菜鸟教程】最简单设置支持HTML的Web服务器

本文假设你安装的Debian(我测试使用的Debian7,不过Debian 6也同样适用) 0.更新系统

apt-get update
apt-get upgrade

1.安装Nginx

apt-get install nginx

2.启动nginx

service nginx start

/etc/init.d/nginx start

3.配置Nginx 创建相关目录

mkdir -p /home/www/vmvps.com/public_html
mkdir -p /home/www/vmvps.com/logs
chown -R www-data:www-data /home/www/vmvps.com

用vi在/etc/nginx/sites-available/下新建文件vmvps.com文件,内容如下,

server {
listen 80;
server_name www.vmvps.com vmvps.com;
access_log /home/www/vmvps.com/logs/access.log;
error_log /home/www/vmvps.com/logs/error.log;

location / {
    root   /home/www/vmvps.com/public\_html;
    index  index.html index.htm;
}

}

以上的文件说明:1.我的域名是vmvps.com;2.Web页面的目录在/home/www/vmvps.com/public_html;3.日志目录位于 /home/www/vmvps.com/logs/。以上几个部分都可以自己修改,如果你想更酷地加入ipv6的支持(前提是你得VPS已经设置了ipv6地址),你还可以在listen 80下加一句listen [::]:80 ipv6only=on default_server;

接下来,我们运行如下命令,让配置文件生效,并重启nginx

ln -s /etc/nginx/sites-available/vmvps.com /etc/nginx/sites-enabled

/etc/init.d/nginx restart

如果我们要暂停这个虚拟机,只需要运行

rm /etc/nginx/sites-enabled/vmvps.com
/etc/init.d/nginx restart

之前微魔给大家介绍了手动安装VNC和可视化桌面的教程(任意门),但是,一些新人朋友似乎并不满足~而微魔有时候也会感慨,要是不用自己一步一步输入命令多好…于是乎,微魔在网络上就搜到了一段Linux指令,可以快速的完成VNC和可视化桌面的安装,文中命令适用于ubuntu 12.04,Debian7和CentOS 6,大家针对版本使用吧。

注:本文代码来源于VPS服务商GinerNet(查看促销),代码所有权归属原作者所有。

Ubuntu 12.04 32&64位

apt-get update -y;apt-get upgrade -y;apt-get install nano -y;apt-get install gnome-core firefox flashplugin-installer -y;apt-get install vnc4server -y; vncserver; vncserver -kill :1; cd ~; wget https://ginernet.com/downloads/vnc-ubuntu-12.txt -O .vnc/xstartup; mkdir -p /etc/vncserver; echo ‘VNCSERVERS=”1:root”‘ >> /etc/vncserver/vncservers.conf; echo ‘VNCSERVERARGS[1]=”-geometry 1000x700”‘ >> /etc/vncserver/vncservers.conf; cd /etc/init.d/; wget https://ginernet.com/downloads/vnc-init-ubuntu-12.txt -O vncserver; chmod 755 vncserver; update-rc.d vncserver defaults 99; reboot;

Debian 7 32&64位

apt-get update -y;apt-get upgrade -y;apt-get install nano -y;apt-get install gnome-core flashplugin-nonfree -y;apt-get install vnc4server -y; vncserver; vncserver -kill :1; cd ~; wget https://ginernet.com/downloads/vnc-debian-7.txt -O .vnc/xstartup; mkdir -p /etc/vncserver; echo ‘VNCSERVERS=”1:root”‘ >> /etc/vncserver/vncservers.conf; echo ‘VNCSERVERARGS[1]=”-geometry 1000x700”‘ >> /etc/vncserver/vncservers.conf; cd /etc/init.d/; wget https://ginernet.com/downloads/vnc-init-ubuntu-12.txt -O vncserver; chmod 755 vncserver; update-rc.d vncserver defaults 99; reboot;

CentOS 6 64位系统(不支持32位)

yum install nano -y; yum update -y; yum upgrade -y; yum install tigervnc-server -y; yum groupinstall “Desktop” -y; yum install firefox -y; rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86\_64-1.0-1.noarch.rpm; rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux; yum install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl -y; echo ‘echo “nameserver 8.8.8.8” >> /etc/resolv.conf; ‘ >> /etc/rc.local; echo ‘VNCSERVERS=”1:root”‘ >> /etc/sysconfig/vncservers; echo ‘VNCSERVERARGS[1]=”-geometry 1000x700”‘ >> /etc/sysconfig/vncservers; vncpasswd; chkconfig vncserver on –level 345; reboot;

(请以“Nginx”为关键字在本站右侧搜索栏自行搜索),关于伪静态,有一篇集中汇总各个程序的Nginx伪静态的文章(传送),但是却遗忘了最常见的www域名跳转的问题,关于这个跳转,对SEO的友好程度见仁见智,在微魔看来,只是更喜欢自己的站点以www的形式示人而已。

#伪静态# Nginx实现www域名的301跳转

1.将example.com定向到www.example.com

server {
listen 80;
server_name example.com www.example.com;
if ($host != ‘www.example.com‘) {
rewrite ^/(.*)$ http://www.example.com/$1 permanent;
}
}

2.将www.example.com定向到example.com

server {
listen 80;
server_name example.com www.example.com;
if ($host != ‘example.com’) {
rewrite ^/(.*)$ http://example.com/$1 permanent;
}
}

提到Linux下的防火墙,首先可能想到的是iptables(iptables简明教程)。随着CentOS 7的发布,防火墙也已经升级为Firewalld(注:iptables并未被取代,而是作为了Firewalld的底层存在(参见下图),二者的区别请自行谷歌/百度),微魔发现网络上不少的教程都是要关掉Firewalld,主要是因为Firewalld会使很多未授权而使用端口的程序吃瘪(如VNC等)。但简单的关闭防火墙显然不符合“安全第一”的准则,适当的为我们的应用开启大门才是正确的选择,因此,来一个简易的教程十分必要。另外,微魔发现现在网上大量的中文教程都十分的繁琐,提取重要的讯息很不方便,而我们一般玩家也确实没必要深入而全面的去学习这些。 【图片取自redhat官网文档

CentOS 7下Firewalld防火墙的简易教程

Firewalld开启/停止可以通过systemctl命令完成(如同其他程序一样,此处不赘述),自身命令行界面操作主要是通过firewall-cmd这个命令来实现管理的(图形化界面是firewall-config),下面的命令以80端口,TCP为例,在实际应用中请按需修改

1.查询端口开放情况

firewall-cmd –zone=public –query-port=80/tcp

若显示no则表示该端口关闭

2.开启端口,–permanent参数表明该规则永久生效,否则,重启后则失效

firewall-cmd –zone=public –add-port=80/tcp –permanent

3.删除端口授权

firewall-cmd –zone= public –remove-port=80/tcp –permanent

4.重新加载Firewalld使修改生效(重要!)

firewall-cmd –reload

5.查看开放的端口(准确来讲应该是Public zone的端口,更深入的就不说了)

firewall-cmd –zone=public –list-ports

0%