WEB技术之后端技术

Linux服务器搭建

PHPer 2018-02-07 924次浏览 0条评论 0 0 0
Linux服务器的各种服务的搭建。FTP,VPN(注,现在国内的服务器商已经不提供此服务,安装上了也用不了。),等等。

Linux服务器的各种服务的搭建。

FTP,VPN(注,现在国内的服务器商已经不提供此服务,安装上了也用不了。),等等。...

登录 | 立即注册

更新于:2018-02-07 18:43:33

超简单Centos vpn 搭建方法 只需三步,快速搭建vpn

现在国内的服务器商已经不提供此服务,安装上了也用不了。

主机CENTOS 6.5 64X

第一步: 下载vpn(CentOS6专用)一键安装包

#wget http://www.iamhackspace.com/download/shell/vpn_cent6.sh 
#chmod a+x vpn_cent6.sh 

第二步: 运行一键安装包

#bash vpn_cent6.sh

会有三个选择:

  1. 安装VPN服务
  2. 修复VPN
  3. 添加VPN用户

首先输入1,回车,VPS开始安装VPN服务(VPN服务安装完毕后会默认生成一个用户名为vpn,密码为随机数的用户来。可以编辑/etc/ppp/chap-secrets设置VPN账号密码,可以把这个账号去掉)...

CentOS 6、7下pptp vpn一键安装脚本

之前有折腾过《CentOS 6、7下IPSEC/L2TP VPN一键安装脚本》,不稳定、不支持IOS,因此换成pptp,并已经添加到《lnmp一键安装包》。这个脚本可以单独使用,直接复制或下载执行即可,不用依赖安装包的其它脚本。

CentOS 6、7下pptp vpn一键安装脚本,安装如下:

  1. wget http://mirrors.linuxeye.com/scripts/vpn_centos.sh
  2. chmod +x ./vpn_centos.sh
  3. ./vpn_centos.sh
#!/bin/bash
#
# Author:  yeho 
# Blog:  //blog.linuxeye.com
#
# Installs a PPTP VPN-only system for CentOS
# Check if user is root
[ $(id -u) != "0" ] && { echo -e "\033[31mError: You must be root to run this script\033[0m"; exit 1; }
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
clear
printf "
#######################################################################
#    LNMP/LAMP/LANMP for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+    #
#            Installs a PPTP VPN-only system for CentOS               #
# For more information please visit //blog.linuxeye.com/31.html  #
#######################################################################
"
[ ! -e '/usr/bin/curl' ] && yum -y install curl
VPN_IP=`curl ipv4.icanhazip.com`
VPN_USER="linuxeye"
VPN_PASS="linuxeye"
VPN_LOCAL="192.168.0.150"
VPN_REMOTE="192.168.0.151-200"
while :; do echo
    read -p "Please input username: " VPN_USER
    [ -n "$VPN_USER" ] && break
done
while :; do echo
    read -p "Please input password: " VPN_PASS
    [ -n "$VPN_PASS" ] && break
done
clear
if [ -f /etc/redhat-release -a -n "`grep ' 7\.' /etc/redhat-release`" ];then
    #CentOS_REL=7
    if [ ! -e /etc/yum.repos.d/epel.repo ];then
        cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Extra Packages for Enterprise Linux 7 - \$basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/\$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=\$basearch
failovermethod=priority
enabled=1
gpgcheck=0
EOF
    fi
    for Package in wget make openssl gcc-c++ ppp pptpd iptables iptables-services
    do
        yum -y install $Package
    done
    echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
elif [ -f /etc/redhat-release -a -n "`grep ' 6\.' /etc/redhat-release`" ];then
    #CentOS_REL=6
    for Package in wget make openssl gcc-c++ iptables ppp
    do
        yum -y install $Package
    done
    sed -i 's@net.ipv4.ip_forward.*@net.ipv4.ip_forward = 1@g' /etc/sysctl.conf
    rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
    yum -y install pptpd
else
    echo -e "\033[31mDoes not support this OS, Please contact the author! \033[0m"
    exit 1
fi
echo "1" > /proc/sys/net/ipv4/ip_forward
sysctl -p /etc/sysctl.conf
[ -z "`grep '^localip' /etc/pptpd.conf`" ] && echo "localip $VPN_LOCAL" >> /etc/pptpd.conf # Local IP address of your VPN server
[ -z "`grep '^remoteip' /etc/pptpd.conf`" ] && echo "remoteip $VPN_REMOTE" >> /etc/pptpd.conf # Scope for your home network
if [ -z "`grep '^ms-dns' /etc/ppp/options.pptpd`" ];then
     cat >> /etc/ppp/options.pptpd << EOF
ms-dns 223.5.5.5 # Aliyun DNS Primary
ms-dns 114.114.114.114 # 114 DNS Primary
ms-dns 8.8.8.8 # Google DNS Primary
ms-dns 209.244.0.3 # Level3 Primary
ms-dns 208.67.222.222 # OpenDNS Primary
EOF
fi
echo "$VPN_USER pptpd $VPN_PASS *" >> /etc/ppp/chap-secrets
ETH=`route | grep default | awk '{print $NF}'`
[ -z "`grep '1723 -j ACCEPT' /etc/sysconfig/iptables`" ] && iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 1723 -j 

ACCEPT
[ -z "`grep 'gre -j ACCEPT' /etc/sysconfig/iptables`" ] && iptables -I INPUT 5 -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -o $ETH -j MASQUERADE
iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
service iptables save
sed -i 's@^-A INPUT -j REJECT --reject-with icmp-host-prohibited@#-A INPUT -j REJECT --reject-with icmp-host-prohibited@' 

/etc/sysconfig/iptables
sed -i 's@^-A FORWARD -j REJECT --reject-with icmp-host-prohibited@#-A FORWARD -j REJECT --reject-with icmp-host-prohibited@' 

/etc/sysconfig/iptables
service iptables restart
chkconfig iptables on
service pptpd restart
chkconfig pptpd on
clear
echo -e "You can now connect to your VPN via your external IP \033[32m${VPN_IP}\033[0m"
echo -e "Username: \033[32m${VPN_USER}\033[0m"
echo -e "Password: \033[32m${VPN_PASS}\033[0m"

参考:https://github.com/drewsymo/VPN ...

linux下swap分区的作用

嵌入式Linux中文站消息,Linux系统的Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。

如大家所知,现代操作系统都实现了“虚拟内存”这一技术,不但在功能上突破了物理内存的限制,使程序可以操纵大于实际物理内存的空间,更重要的是,“虚拟内存”是隔离每个进程的安全保护网,使每个进程都不受其它程序的干扰。

可能计算机用户会经常遇这种现象。例如,在使用Windows系统时,可以同时运行多个程序,当你切换到一个很长时间没有理会的程序时,会听到硬盘“哗哗”直响。这是因为这个程序的内存被那些频繁运行的程序给“偷走”了,放到了Swap区中。因此,一旦此程序被放置到前端,它就会从Swap区取回自己的数据,将其放进内存,然后接着运行。

另外,并不是所有从物理内存中交换出来的数据都会被放到Swap中(如果这样的话,Swap就会不堪重负),有相当一部分数据被直接交换到文件系统。例如,有的程序会打开一些文件,对文件进行读写(其实每个程序都至少要打开一个文件,那就是运行程序本身),当需要将这些程序的内存空间交换出去时,就没有必要将文件部分的数据放到Swap空间中了,而可以直接将其放到文件里去。如果是读文件操作,那么内存数据被直接释放,不需要交换出来,因为下次需要时,可直接从文件系统恢复;如果是写文件,只需要将变化的数据保存到文件中,以便恢复。但是那些用malloc和new函数生成的对象的数据则不同,它们需要Swap空间,因为它们在文件系统中没有相应的“储备”文件,因此被称作“匿名”(Anonymous)内存数据。这类数据还包括堆栈中的一些状态和变量数据等。所以说,Swap空间是“匿名”数据的交换空间。

突破128M Swap限制

有些Linux(国内汉化版)安装手册上有这样的说明:Swap空间不能超过128M。为什么会有这种说法?在说明“128M”这个数字的来历之前,先给问题一个回答:现在根本不存在128M的限制!现在的限制是2G!

Linux系统中的Swap空间是分页的,每一页的大小和内存页的大小一样,方便Swap空间和内存之间的数据交换。旧版本的Linux实现Swap空间时,用Swap空间的第一页作为所有Swap空间页的一个“位映射”(Bit map)。这就是说第一页的每一位,都对应着一页Swap空间。如果这一位是1,表示此页Swap可用;如果是0,表示此页是坏块,不能使用。这么说来,第一个Swap映射位应该是0,因为,第一页Swap是映射页。另外,最后10个映射位也被占用,用来表示Swap的版本(原来的版本是Swap_space ,现在的版本是swapspace2)。那么,如果说一页的大小为s,这种Swap的实现方法共能管理“8 * ( s - 10 ) - 1”个Swap页。对于i386系统来说s=4096,则空间大小共为133890048,如果认为1 MB=2^20 Byte的话,大小正好为128M。

这样来实现Swap空间的管理,是要防止Swap空间中有坏块。如果系统检查到Swap中有坏块,则在相应的位映射上标记上0,表示此页不可用。这样在使用Swap时,不至于用到坏块,而使系统产生错误。

现在的系统设计者认为:

1.现在硬盘质量很好,坏块很少。

2.就算有,也不多,只需要将坏块罗列出来,而不需要为每一页建立映射。

3.如果有很多坏块,就不应该将此硬盘作为Swap空间使用。

于是,现在的Linux取消了位映射的方法,也就取消了128M的限制。直接用地址访问,限制为2G。

Swap配置对性能的影响

对于分配太多的Swap空间,会浪费磁盘空间,而Swap空间太少,则系统会发生错误。

当系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程),如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的。...

vultr服务器丢包很严重

vultr的1024 MB High Frequency 和1024 MB Cloud Compute,不管那个地区的服务器,丢包都很严重,不适合做客户端加速器。

相比之下,亿速云的美国华盛顿西雅图服务器162.250.97.91,虽然延迟190ms左右,但是一个包都不丢,这个是怎么做到的,我这边是电信宽带,难道正巧这个也是走的电信线路吗

c33be94778-qq-jie-tu20200505013000_normal.jpg

几年前阿里云搞活动700多块的三年的服务器,延迟又低,也不丢包,现在价格变成了快3倍,有点用不起。...

香港服务器,亿速云差不多1个月64元,阿里云ECS一个月也要72元

香港服务器,亿速云差不多1个月64元,阿里云ECS一个月也要72元,现在钱毛的厉害。20200505...

Centos 7 卸载编译安装的 Nginx

原文链接:https://www.blsa.cn/post/detail?id=106

安装:Centos 7 编译安装 nginx-1.15.7

1. 卸载过程:

1.1 如果是源码编译安装

# 如果有自启动,则删除 Nginx 的自启动
[root@bogon nginx-1.15.7]# chkconfig nginx off
服务 nginx 信息读取出错:没有那个文件或目录 # 查找nginx的安装目录
[root@bogon nginx-1.15.7]# whereis nginx
nginx: /usr/local/nginx # 停止nginx服务
[root@bogon nginx-1.15.7]# /usr/local/nginx/sbin/nginx -s stop # 删除安装目录
[root@bogon nginx-1.15.7]# rm -rf /usr/local/nginx/ # 查找是否还有残余的
[root@bogon nginx-1.15.7]# find / -name nginx
/usr/local/lib64/nginx-1.15.7/objs/nginx
[root@bogon nginx-1.15.7]# rm -rf /usr/local/lib64/nginx-1.15.7/
[root@bogon nginx-1.15.7]#


1.2 如果是yum安装

[root@bogon nginx-1.15.7]# yum remove nginx

结束。 ...

修改nginx默认端口,使其占用非80端口

在web服务器中,不管是Apache还是Nginx,这些服务器默认占用的端口都是80端口。但是,有时候80端口被占用,或者一些其他原因,我们需要这些服务工作在非80端口上,那么如何修改Nginx默认端口,使其占用8089端口(或者其它非80端口),方法步骤如下: 1.首先修改nginx根目录下的配置文件nginx.conf,修改如下: 1 2 3 4 5 6 7 8 9 server { listen 8089; server_name 192.168.171.210; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } 其中:listen后面的端口号改为你自己需要的端口号,server_name改为你自己的外网ip。server_name默认为localhost即127.0.0.1。 修改完配置文件后重启nginx:/usr/local/nginx/nginx -s reload.我的nginx是安装在/usr/local/目录下,根据你自己nginx的安装目录重启你的服务器。 2.然后修改防火墙配置文件 #配置防火墙,开启8089端口(注意:这里要开启你自己配置的端口,和上面listen指定端口一样) 1 2 vi /etc/sysconfig/iptables 添加如下语句: -A INPUT -m state --state NEW -m tcp -p tcp --dport 8089 -j ACCEPT #允许8089端口通过防火墙 防火墙配置修改完成后: 1 /etc/init.d/iptables restart #最后重启防火墙使配置生效 最后访问你的站点:http://ip:8089 其中ip是你设置的server_name也就是你外网的ip地址,访问站点时要记得加上你配置的端口号。

本文来源于:技术拉近你我!。
原文标题: 修改nginx默认端口,使其占用非80端口
原文链接:https://coderschool.cn/166.html
码字不容易,将心比心,转载请注明出处!...

Socat一键安装脚本,可转发TCP和UDP流量

原文链接:https://www.moerats.com/archives/621/

2018 年 05 月 11 日 最后修改:2018 年 12 月 09 日 04 : 44 PM

说明:一般用海外服务器的都会遇到线路爆炸,网络不好的情况,导致我们用55R等软件的效果很差,这时候就可以用端口转发来改善这种情况,常见的转发有rinetdHaproxyiptablessocat,前面2种只能转发TCP,后面TCP/UDP都可以转发,如果用来玩游戏的话就需要转发UDP了,博主就写了个Socat一键安装脚本,这里分享下。

安装

系统要求:支持CentOS 6+Debian 7+Ubuntu 14+脚本说明:脚本默认开启UDPTCP转发,带开机自启功能,且一次只能转发单个端口,如果想转发多个端口请重复运行本脚本。提示:该脚本在Vultr各个系统均测试通过,包括最新的Ubuntu 18.04,如果有其它问题可以留言。

使用root运行以下命令:

wget https://www.moerats.com/usr/shell/socat.sh && bash socat.sh

按要求输入以下信息:...

    您需要登录后才可以评论。 登录 | 立即注册
    相关内容

    服务器搭建

    先介绍下Centos7下搭建LAMP环境。安装版本 Apache 2.4.6 PHP7.1.13,Mysql5.7 shadowsocks-libv

    centos7用yum搭建LAMP环境之一

    CentOS 7 安装 LNMP 环境,sh脚本一键安装

    安装phaclon遇到的各种问题。

    LNMP的那些事情

    centos7安装openssl

    Centos系统在Apache服务器上安装SSL证书

    Centos7.4 修改MySQL5.7 root 密码

    2020在godaddy首页上看到企业建站服务

    邮件发送报错No IDN encoder found(install the intl extension or the true/punyco...

    yum安装php扩展intl报错:Error: php71w-common conflicts with php-common...

    如何在CentOS上安装PHP intl扩展?

    服务器选择-阿里云轻量应用服务器 轻量应用服务器 (香港...

    阿里云香港服务器和大陆服务器区别在哪,如何选择

    关于网站的robots文件以及robots文件在线生成工具

    robots.txt 不让搜索引擎收录网站的方法

    Yii2生成sitemap,yii2-sitemap-module Yii2 module for automatically generating XML ...

    验证谷歌站长平台 – GOOGLE SEARCH CONSOLE 验证流程

    centos7下自动备份mysql数据库

    谷歌站长平台实测网站

    CentOS 7中看PHP运行时的Log文件日志信息

    Linux设置Swap虚拟内存方法

    CentOS 7一键安装桌面环境命令(可远程RDP连接)

    如何在 CentOS8/RHEL8 上安装配置 VNC 服务器

    查问我看服务器搭建和使用中遇到的问题

    服务器搭建2

    这里记录一些服务器搭建遇到的问题 20210117

    mysql报错问题解决MySQL server PID file could not be found!

    找了半天找不到看着靠谱的centos8开机启动后运行的脚本

    LAMP一键安装包安装的时候方便,增加开机启动的时候...

    上网服务器搭建时遇到的问题

    这里记录一些遇到的问题

    CentOS7下解决ifconfig command not found的办法

    CentOS 7安装锐速高速上网

    切换使用锐速和BBR加速时遇到的问题failed to dial to (wss:// *** ) 50...

    服务器加速的解决方案

    使用V2Ray的mKCP协议加速游戏

    Quick and easy VPNs with WireGuard

    v2rayN已停止工作

    基于CentOS7 Centos8平台搭建邮件服务器

    EwoMail​在Centos8上安装了,各种坑,各种报错。这个集成包太臃肿了。 20200416 EwoMail 已经弃用,国内的一家公司搞的坑爹产品。 20200418

    如何在RHEL8 / CentOS8上安装Webmin

    设置postfix作为邮件发送服务器

    使用EwoMail搭建属于自己的个人邮件服务器——超详

    hostnamectl set-hostname mail.chawen.org cd /root/EwoMail/install sh ./start.sh chawen.org -...

    centos7开启交换内存

    如何在 CentOS 8 上安装和配置 Postfix 邮件服务器

    推荐内容

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台...

    在网上找的ss+SSTap的方式都不能通过SSTap的链接测试。最后找到了v2ray+SSTap的方式。 注意事项,首先单独有v2ray看能不能正常上网。另外加速时要v2ray和SST...

    使用V2Ray的mKCP协议加速游戏

    当前脚本已发布新版本,地址: https://github.com/kuoruan/shell-scripts/raw/master/kcptun/kcptun.sh 旧仓库已废...

    v2rayN已停止工作

    要安装.NET Framework 4.6 或者更高版本

    超省心游戏加速:Wireguard+udp加速(CentOS版)--(

    Wireguard+udpspeeder+udp2raw游戏加速方案 ---------------------------------------错误报告及解决-----------...

    wireguard+udpspeeder+udp2raw多用户配置

    Wireguard+udpspeeder+udp2raw游戏加速方案改进版-实测有效

    解决'nmake' 不是内部或外部命令,也不是可运行的程序

    在用gifsicle时,需要在其src目录下使用 nmake -f Makefile.w32 命令,报错 'nmake' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 于是网...