WEB技术之后端技术

Linux服务器搭建

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

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

立即注册

更新于:2018-02-07 18:43:33
    您需要登录后才可以评论。 立即注册

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

    现在国内的服务器商已经不提供此服务,安装上了也用不了。主机CENTOS 6.5 64X 第一步: 下载vpn(CentOS6专用)一键安装包 #wget http://www.iamh...
    现在国内的服务器商已经不提供此服务,安装上了也用不了。

    主机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账号密码,可以把这个账号去掉)...

    立即注册
    更新于:2018-02-12 23:59:58

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

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

    之前有折腾过《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 ...

    立即注册
    更新于:2018-02-07 20:29:04

    linux下swap分区的作用

    嵌入式Linux中文站消息,Linux系统的Swap分区,即交换区,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空间的分配是很重要的。...

    立即注册
    更新于:2018-02-14 23:46:58

    vultr服务器丢包很严重

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

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

    立即注册
    更新于:2020-05-05 01:42:10

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

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

    立即注册
    更新于:2020-05-05 02:29:21

    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
    

    结束。 ...

    立即注册
    更新于:2020-05-05 11:14:10

    修改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
    码字不容易,将心比心,转载请注明出处!...

    立即注册
    更新于:2020-05-05 14:18:35

    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
    

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

    立即注册
    分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。
    更新于:2020-05-10 07:22:41
    相关内容

    Linux脚本和脚本知识

    一键安装TiDB开发环境(centos7)

    Linux使用 PaPing 检测TCP连通性与端口延迟

    linux vim中不小心按了#号,结果printf就变成这个颜色了,怎么给变回来啊,求...

    Sublime Text3快捷键大全

    查询linux的ftp的用户名和密码

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    使用V2Ray的mKCP协议加速游戏

    v2rayN已停止工作