0%

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

在Ubuntu和Debian下运行apt-get update刷新更新源的时候却经常遇到“There is no public key available for the following key IDs”的问题,具体表现为以下错误提示:

1
2
W:There is no public key available for the following key IDs: 3B4FE6ACC0B21F32,
W:There is no public key available for the following key IDs: 3B4FE6ACC0B21F32,

解决方法如下,

1
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3B4FE6ACC0B21F32

把3B4FE6ACC0B21F32替换为你出现问题的IDs

额外的,如果有如下问题,是因为加入了natty-backports源,删掉即可

1
2
3
4
W:Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/natty-backports/main/source/Sources  404  Not Found [IP: 91.189.91.13 80],
W:Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/natty-backports/restricted/source/Sources 404 Not Found [IP: 91.189.91.13 80],
W:Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/natty-backports/universe/source/Sources 404 Not Found [IP: 91.189.91.13 80],
W:Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/natty-backports/multiverse/source/Sources 404 Not Found [IP: 91.189.91.13 80],

运行如下命令:

1
sudo sed -i '/natty\-backports/d' /etc/apt/sources.list{,.d/*}

via:https://www.vmvps.com/apt-get-error-no-public-key-available-solution.html

1. 更新Debian 8到最新,这一步可有可无,个人觉得加上会比较稳妥一点:

1
apt-get update && apt-get upgrade

2. 将软件源改为Debian 9的stretch,如果使用我下面的命令的话,要看你原来的Debian 8是用stable表示还是jessie表示:

1
 sed s/jessie/stretch/ /etc/apt/sources.list  tee /etc/apt/sources.list

3. 升级系统版本

1
apt-get  update && apt-get dist-upgrade

本脚本适用环境

系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 内存要求:≥128M 日期  :2017 年 10 月 22 日

关于本脚本

1、一键安装 Shadowsocks-Python, ShadowsocksR, Shadowsocks-Go, Shadowsocks-libev 版(四选一)服务端; 2、各版本的启动脚本及配置文件名不再重合; 3、每次运行可安装一种版本; 4、支持以多次运行来安装多个版本,且各个版本可以共存(注意端口号需设成不同); 5、若已安装多个版本,则卸载时也需多次运行(每次卸载一种); 6、Shadowsocks-Python 和 ShadowsocksR 安装后不可同时启动(因为本质上都属 Python 版)。

友情提示:如果你有问题,请先阅读这篇《Shadowsocks Troubleshooting》之后再询问。

默认配置

服务器端口:自己设定(如不设定,默认为 8989) 密码:自己设定(如不设定,默认为 teddysun.com) 加密方式:自己设定(如不设定,Python 和 libev 版默认为 aes-256-gcm,R 和 Go 版默认为 aes-256-cfb) 协议(protocol):自己设定(如不设定,默认为 origin)(仅限 ShadowsocksR 版) 混淆(obfs):自己设定(如不设定,默认为 plain)(仅限 ShadowsocksR 版) 备注:脚本默认创建单用户配置文件,如需配置多用户,请手动修改相应的配置文件后重启即可。

客户端下载

常规版 Windows 客户端 https://github.com/shadowsocks/shadowsocks-windows/releases

ShadowsocksR 版 Windows 客户端 https://github.com/shadowsocksr/shadowsocksr-csharp/releases

使用方法

使用root用户登录,运行以下命令:

wget –no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks\_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 tee shadowsocks-all.log

安装完成后,脚本提示如下

Congratulations, your_shadowsocks_version install completed!
Your Server IP :your_server_ip
Your Server Port :your_server_port
Your Password :your_password
Your Encryption Method:your_encryption_method

Welcome to visit:https://teddysun.com/486.html
Enjoy it!

卸载方法

若已安装多个版本,则卸载时也需多次运行(每次卸载一种)

使用root用户登录,运行以下命令:

./shadowsocks-all.sh uninstall

启动脚本

启动脚本后面的参数含义,从左至右依次为:启动,停止,重启,查看状态。

Shadowsocks-Python 版: /etc/init.d/shadowsocks-python start stop restart status

ShadowsocksR 版: /etc/init.d/shadowsocks-r start stop restart status

Shadowsocks-Go 版: /etc/init.d/shadowsocks-go start stop restart status

Shadowsocks-libev 版: /etc/init.d/shadowsocks-libev start stop restart status

各版本默认配置文件

Shadowsocks-Python 版: /etc/shadowsocks-python/config.json

ShadowsocksR 版: /etc/shadowsocks-r/config.json

Shadowsocks-Go 版: /etc/shadowsocks-go/config.json

Shadowsocks-libev 版: /etc/shadowsocks-libev/config.json

更新日志

2017 年 10 月 22 日: 1、升级:libsodium 到 1.0.15。

2017 年 10 月 14 日: 1、新增:在安装 Shadowsocks-libev 版时可选安装 simple-obfs 服务端。 ※ 脚本通过判断 autoconf 版本是否大于或等于 2.67 来一键安装 simple-obfs 服务端。并且,支持在安装过程中选择 obfs 为 http 或 tls。 ※ 使用方法参考:https://teddysun.com/511.html

2017 年 09 月 16 日: 1、修正:Shadowsocks-libev 版 v3.1.0 使用 libc-ares 替换 libudns 依赖包,解决了依赖问题; 2、升级:mbedtls 到版本 2.6.0。

2017 年 07 月 27 日: 1、新增:ShadowsocksR 版可选协议(protocol)auth_chain_b 。使用该协议需更新到最新(4.7.0) ShadowsocksR 版客户端; 2、修改:更新 ShadowsocksR 源码下载地址。

2017 年 07 月 23 日: 1、修正:卸载时可自行选择某个版本卸载,若该版本不存在则报错退出。

2017 年 07 月 22 日: 1、修正:默认加密方式从 aes-256-cfb 改为 aes-256-gcm(Python 和 libev 版); 2、新增:安装时可选 16 种加密方式的其中之一(Python 和 libev 版)。如下所示:

aes-256-gcm
aes-192-gcm
aes-128-gcm
aes-256-ctr
aes-192-ctr
aes-128-ctr
aes-256-cfb
aes-192-cfb
aes-128-cfb
camellia-128-cfb
camellia-192-cfb
camellia-256-cfb
chacha20-ietf-poly1305
chacha20-ietf
chacha20
rc4-md5

3、新增:安装时可选 9 种加密方式的其中之一(Go 版)。如下所示:

aes-256-cfb
aes-192-cfb
aes-128-cfb
aes-256-ctr
aes-192-ctr
aes-128-ctr
chacha20-ietf
chacha20
rc4-md5

4、新增:安装时可选 13 种加密方式的其中之一(none 是不加密,ShadowsocksR 版)。如下所示:

none
aes-256-cfb
aes-192-cfb
aes-128-cfb
aes-256-cfb8
aes-192-cfb8
aes-128-cfb8
aes-256-ctr
aes-192-ctr
aes-128-ctr
chacha20-ietf
chacha20
rc4-md5
rc4-md5-6

5、新增:安装时可选 7 种协议(protocol)的其中之一(仅限 ShadowsocksR 版)。如下所示:

origin
verify_deflate
auth_sha1_v4
auth_sha1_v4_compatible
auth_aes128_md5
auth_aes128_sha1
auth_chain_a
auth_chain_b

6、新增:安装时可选 9 种混淆(obfs)的其中之一(仅限 ShadowsocksR 版)。如下所示:

plain
http_simple
http_simple_compatible
http_post
http_post_compatible
tls1.2_ticket_auth
tls1.2_ticket_auth_compatible
tls1.2_ticket_fastauth
tls1.2_ticket_fastauth_compatible

2017 年 02 月 24 日: 1、恢复: 通过 Github API 自动获取 Shadowsocks-libev 的最新 release 版本的功能(v3.0.3)。

2017 年 02 月 13 日: 1、升级: Shadowsocks-libev 版到版本 3.0.2; 2、升级: Shadowsocks-go 版到版本 1.2.1(基于 Github 最新代码,用 go 1.8 编译完成的 x86 和 x86_64 二进制文件); 3、修复:在 Debian 7 下默认没有 libudns-dev 依赖包的问题。

2017 年 02 月 12 日: 1、升级: Shadowsocks-libev 版到版本 3.0.1。

2017 年 01 月 27 日: 1、升级: Shadowsocks-go 版到版本 1.2.1 (仅适用于 x86_64 系统)

更多单版本 Shadowsocks 服务端一键安装脚本

Shadowsocks Python 版一键安装脚本(CentOS,Debian,Ubuntu) ShadowsocksR 版一键安装脚本(CentOS,Debian,Ubuntu) CentOS 下 Shadowsocks-libev 一键安装脚本 Debian 下 Shadowsocks-libev 一键安装脚本 Shadowsocks-go 一键安装脚本(CentOS,Debian,Ubuntu)

注意:以上单版本不可与该四合一版本混用。

转载请注明:秋水逸冰 » Shadowsocks 一键安装脚本(四合一)

如果你是CentOS用户,肯定为换内核头疼过. 这篇文章将解决这个问题.


  1. CentOS用户如遇内核不能匹配,

 

请参照以下示例:1. 使用锐速安装脚本,得知不能匹配到内核.
2. 通过 uname -r 查看到的版本号为 2.6.32-642.el6.x86_64 ,
3. 去查看 锐速版本库 发现有个内核版本很接近 2.6.32-573.1.1.el6.x86_64 .
4. 执行安装命令:

1
wget --no-check-certificate -O appex.sh https://raw.githubusercontent.com/0oVicero0/serverSpeeder_Install/master/appex.sh && chmod +x appex.sh && bash appex.sh install '2.6.32-573.1.1.el6.x86_64'
锐速安装脚本就会强制安装内核版本为 `2.6.32-573.1.1.el6.x86_64` 的锐速. 安装命令中的 `2.6.32-573.1.1.el6.x86_64` 可自行更改.
  1. 启动锐速
    • 如果启动成功,恭喜你!
    • 如果启动失败,请重复 2-5 步骤! 不要害怕失败,安装失败并不会影响系统运行.

安装锐速: [锐速] [serverSpeeder] [lotServer]


声明:

毕竟你都要换内核了,就不要谈稳不稳定.

如因此造成损失,本人不负任何责任.


温馨提醒:

数据无价,请及时备份数据.

CentOS 7系统最小化安装后,由于没有图形化界面,给新手用户的使用带来了一些不便。本文将介绍如何在没有图形界面的情况下了解系统情况、硬件信息以及如何对系统进行基本的设置等。

将CentOS 7更新至最新

对于一个全新的CentOS 7系统,第一步工作应该是将系统更新至最新,以确保系统可以使用最新支持的内核以及最新的安全补丁等。

更新系统可以用root权限用户通过如下命令来完成:

# yum check-update

yum upgrade

当更新全部完成后,可以使用以下命令将更新过程中下载的文件清除,以释放磁盘空间。

# # yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base elrepo epel extras nginx updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors

给CentOS 7系统安装实用工具

为了系统管理方便,这里推荐几个系统管理的实用工具。安装这些工具后,可以大大提升CentOS 7系统使用的便利性。这些工具包括:nano (一个可以替代vi的文本编辑器)\ wgetcurl (通常用来从网络下载软件包的工具)、 net-toolslsof (管理本地网络的工具)以及bash-completion (命令行自动补全工具)。这些工具都可以通过yum方式安装,命令示例如下:

# yum install nano wget curl net-tools lsof bash-completion

设置CentOS 7网络

CentOS有大量的网络配置实用工具,这些可以编辑网络配置的工具包括: ip, ifconfig, nmtui, nmcli 以及route。对于初学者来说,最简单的工具是nmtui这个图形化的命令行工具。

例如想设置自己的主机名,可以通过输入nmtui-hostname命令来打开图形化命令行,设置完成后,按确认,示意图如下:

如果想配置网卡,则运行:nmtui-edit命令,就可以打开一个图形化的设置窗口,如下图所示:

选择相应网卡后,再选中按钮按回车,就可以进入网卡的配置详情窗口,可以根据实际需要对网卡进行相应配置。注意这些图形化界面非常像最初的C语言菜单,可以通过Tab键来切换选中项,按回车键表示确定选中项。

然后可以通过如下命令,来查看网络接口配置是否正确以及网络的连通性等。

# ifconfig eth0

ip a

ping -c2 www.daehub.com

注意这里的eth0就是系统默认的网卡设备,命令执行结果如下:

下面的两个工具ethtool和mii-tool是用来查看网络的接口速率以及连接状况的:

以下还有几个对于网络使用端口进行检测的工具,通过这些工具,可以查看程序侦听的端口以及连接状态等。这些命令会列出程序所使用的所有TCP以及UDP端口。事实上UDP是非面向连接的,它只通过网络发送数据包,而不需要建立连接。这些命令包括:

# netstat -tulpn

ss -tulpn

lsof -i4 或 lsof -6

管理CentOS 7的服务

CentOS 7通过systemctl工具来管理系统守护进程(即为系统服务),可以通过如下命令来查看系统服务的状态和启动情况等:

# systemctl list-units

systemctl list-unit-files -t service

如果想停止或关闭某项服务,则可以通过如下命令来实现:

# systemctl stop postfix

systemctl disable postfix

以上示例是首先停止postfix服务,然后将这项服务器开机自启动关闭。

除了以上这些命令,你还可以通过ps\top以及pstree命令来查看系统运行状况。默认情况下,CentOS 7是未安装pstree工具的,可以使用如下命令安装并通过示例命令查看进程状态:

# yum install psmisc

pstree -p

运行示意图如下:

使用CentOS 7防火墙

Firewalld工具是CentOS 7进行访问控制管理的主要工具,使用以下命令,可以设置启用防火墙以及查看状态等:

# systemctl enable firewalld

systemctl start firewalld

systemctl status firewalld

如果想要开启某项服务,则可以使用–add-service=服务名方式开启这项服务器访问控制,如果使用–permanent参数,则会永久开启这项服务的相应端口。例如想要开启ssh服务,则使用如下方式:

# firewall-cmd –list-services

firewall-cmd –add-service=ssh

firewall-cmd –add-service=ssh –permanent

命令首先查看已经支持的服务,然后将ssh服务加入允许列表,运行结果如图所示:

将服务添加完成后,就需要将服务对应的端口添加到允许列表中,使用如下命令方式,注意,–permanent参数同样有效:

# firewall-cmd –add-port=22/tcp –permanent

firewall-cmd –reload #让防火墙规则生效

赋予用户sudo权限

为了让普通用户可以通过sudo命令执行root用户权限的命令,可以通过添加用户并修改这个用户至管理员的wheel组来实现,具体步骤如下:

# adduser daehub

passwd daehub

usermod -aG wheel daehub

以上命令首先添加一个daehub用户,然后为他设置密码,最后通过usermod命令将daehub用户添加至wheel组,就完成了赋予用户管理员权限的操作。

以上就是一些系统管理员每天都可能用到的常用命令,对于一个全新的CentOS系统,熟练使用上述工具,可以达到事半功倍的效果哦。

最近买了好几台 vps 在测试的时候,经常会遇到一些麻烦,我比较喜欢用 Speedtest 来测试到国内和到我本地的网络的速度,每次去找节点有比较麻烦。之前从来没有写过脚本,也不熟悉那些脚本的命令,只会一些简单的经常能用到的管理命令,今天开始学了一天,差不多明白了一些,就拿来练手,就直接集成一个管理面板去测试到国内不同路线的速度,折腾了一下。

新加功能

全面测速,添加一键全面测速功能,测试服务器到全国北方南方,电信,联通,移动的速度。

阿里云香港

SuperSpeed.sh 一键测试服务器到国内的速度

阿里云新加坡

SuperSpeed.sh 一键测试服务器到国内的速度

阿里云日本

SuperSpeed.sh 一键测试服务器到国内的速度


一、特点

利用 Speedtest 测试你的国外主机到国内不同省市的速度。

集成了 Speedtest 提供的电信,联通,移动线路。

一键选择,一键测试。

SuperSpeed.sh 一键测试服务器到国内的速度

二、使用方法

非常的简单,每行一条命令

wget –no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superspeed.sh

chmod +x superspeed.sh

./superspeed.sh

 

SuperSpeed.sh 一键测试服务器到国内的速度