WEB技术之后端技术

Linux服务器搭建

PHPer 2018-02-07 141次浏览 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/punycode package

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

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

    服务器选择-阿里云轻量应用服务器 轻量应用服务器 (香港节点丢包严重,延迟25ms)

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

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

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

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

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

    centos7下自动备份mysql数据库

    谷歌站长平台实测网站

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

    Linux设置Swap虚拟内存方法

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

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

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

    这里记录一些遇到的问题

    CentOS7下解决ifconfig command not found的办法

    CentOS 7安装锐速高速上网

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

    服务器加速的解决方案

    使用V2Ray的mKCP协议加速游戏

    Quick and easy VPNs with WireGuard

    基于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 邮件服务器

    服务器价格

    这里记录一些服务器的价格,会标注时间...

    云服务器(香港)价格对比

    介绍几个国外支持Alipay(支付宝)付款的VPS或云主机

    推荐内容

    MySQL数据库设计总结

    规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字...

    什么是B-Tree

    二叉查找树、平衡二叉树、红黑树、B-/B+树性能对比

    使用Yii2遇到的问题整理

    Yii的东西很多,学习和使用的时候遇到了各种各样的问题,这里记录整理下,方便大家分享。composer安装kartik-v/yii2-mpdf时报错,这里记录下 Yii2用compos...

    Yii2用composer更新时遇到的错误

    Yii2 用composer update 时提示'git' 不是内部或外部命令,也不是可运行的程序或批处理文件

    Yii2​用composer安装kartik-v/yii2-mpdf时报错,成功解决后,再让其支持中文。

    使用Yii2的setFlash和bootstrap.min.js遇到的问题,bootstrap.min.js的bug?

    Yii2的action不支持大小写吗?其实是支持的

    composer install 使用tips-网上找的composer install的使用技巧方法

    关于编程时遇到意想不到的错误如何解决

    比如当你写的一个php脚本执行出现问题,如果你的脚本里自己带了对错误的处理,可能会显示那里出错了。或者你用的框架,框架里有debug模式,会报错。

    使用Laravel 5.4问题总结

    这里写下laravel5.4的总结,用laravel也有段时间了,优点就不用多说了,好上手,较易学较易用,blade模板是非常的好用,等等。laravel的缺点有几个,灵活性一般,框架稍...

    使用Laravel 5.4问题总结 Lost connection to MySQL server at 'reading initial communication ...

    Laravel 5.4各种错误提示总结

    localStorage介绍和使用

    一、什么是localStorage、sessionStorage在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(co...

    localStorage的使用

    localStorage其他注意事项