如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 这篇文章主要为大家详细介绍了Linux中Nginx的安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Linux下Nginx安装教程分享,具体内容如下 1、安装编译文件及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 2、安装PCRE,Nginx的rewrite的伪静态匹配规则需要用到正则表达式,PCRE就是起到这个作用。 如果wget没有安装的话,需要先安装wget,yum -y install wget. wget是Linux环境下的下载工具。wget命令的使用见此文章 3、解压pcre安装包:tar -zxvf pcre-8.35.tar.gz 4、进入安装目录,编译安装 cd pcre-8.35 ./configure make && make install 5、查看pcre版本 pcre-config –version 6、下载Nginx wgethttp://nginx.org/download/nginx-1.6.2.tar.gz 7、解压并进入安装包 8、编译安装 ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 make make install 9、查看Nginx版本 10、Nginx配置 1)、创建Nginx 运行使用的用户 /usr/sbin/groupadd www /usr/sbin/useradd-g www www 2)、配置nginx.conf ,将/usr/local/webserver/nginx/conf/nginx.conf替换为以下内容 user www www; worker_processes 2; #设置值和CPU核心数一致 error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别 pid /usr/local/webserver/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; #charset gb2312; server_names_hash_bucket_size 128; client_header_buffer_size...
如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 这篇文章主要为大家详细介绍了Linux的wget命令,教大家如何使用wget,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器。这样既浪费时间又浪费精力,那不没办法的事。而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步。wget工具体积小但功能完善,它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来方便简单。下面我们以实例的形式说明怎么使用wget。 1、使用wget下载单个文件 以下的例子是从网络下载一个文件并保存在当前目录 wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。 2、使用wget -O下载并以不同的文件名保存 wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。 错误:下面的例子会下载一个文件并以名称download.php?id=1080保存 wget http://www.centos.bz/download?id=1 即使下载的文件是zip格式,它仍然以download.php?id=1080命令。 正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名: wget -O wordpress.zip http://www.centos.bz/download.php?id=1080 3、使用wget –limit -rate限速下载 当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。 wget –limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 4、使用wget -c断点续传 使用wget -c重新启动下载中断的文件: wget -c http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。 5、使用wget -b后台下载 对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。 wget -b http://cn.wordpress.org/wordpress-3.1-zh_CN.zip Continuing in background, pid 1840. Output will be written to `wget-log’. 你可以使用以下命令来察看下载进度 tail -f wget-log 6、伪装代理名称下载 有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求。不过你可以通过–user-agent参数伪装。 wget –user-agent=”Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16″ 下载链接 7、使用wget –spider测试下载链接 当你打算进行定时下载,你应该在预定时间测试下载链接是否有效。我们可以增加–spider参数进行检查。 wget –spider URL 如果下载链接正确,将会显示 wget –spider URL Spider mode enabled. Check if remote file exists. HTTP request sent, awaiting response… 200 OK Length: unspecified [text/html] Remote file exists and could contain further links, but recursion is disabled — not...
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折
这篇文章主要为大家详细介绍了Linux学习第三篇,Centos7安装mysql5.7.16数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 前言:在linux下安装mysql不如windows下面那么简单,但是也不是很难。本文向大家讲解了如何在Centos7下如何安装mysql5.7版本,如果有什么问题和错误的地方,欢迎大家指出。 版本:mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar 注释:在安装前需要确定现在这个系统有没有mysql,如果有那么必须卸载(在centos7自带的是mariaDb数据库,所以第一步是卸载数据库) 查看mysql数据库: rpm -qa | grep -i mysql 卸载mysql数据库: rpm -e [mysql文件名] 如果有关联文件,不能直接卸载。可以用一下命令强制卸载 rpm -e --nodeps [mysql文件名] 一、将mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar复制到/home/(在linux下面安装软件,一般都需要将文件拷贝到home目录下) cp mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar /home/ 二、解压文件 tar -xvf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar 下面是解压出的所有rpm文件 三、解压并安装rpm文件 1.一般只需要安装下面几个文件 2.接下来就用命令一个个的解压rpm文件并安装即可 注:这里有一个细节需要大家注意,上面的文件在安装中也是有顺序的,他有对应的优先级。所以你需要按照下面的顺序来一个个的解压安装 mysql-community-common-5.7.16-1.el7.x86_64 mysql-community-libs-5.7.16-1.el7.x86_64 mysql-community-client-5.7.16-1.el7.x86_64 mysql-community-server-5.7.16-1.el7.x86_64 mysql-community-devel-5.7.16-1.el7.x86_64 四、安装成功后,开启mysql服务 systemctl start mysqld.service 五、查看3306端口是否开启 netstat -ln | grep 3306 六、修改my.cnf配置文件 1.这一步需要找到my.cnf文件。my.cnf文件的默认路径为/etc/my.cnf 2.编辑my.cnf vim /etc/my.cnf 3.按’i’,进入插入模式后,插入以下代码 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid validate_password=off default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci 注:validate_password=off的意思是关闭密码验证插件(这一句必须加上,因为在修改密码的时候如果不加上会非常的麻烦)。 4.保存并退出(按’esc’后,在输入’:wq’) 5重启mysql服务 systemctl restart mysqld.service 七、到了这一步的尤为的重要了,前面的每一步都必须仔细的检测,并且要成功的执行才可以。 1.初始化表 /user/sbin/mysqld --initialize --user=mysql 2.初始化后,会产生一个mysql的零时登录密码,那么在哪里查看呢?前面在my.cnf文件中配置的日志路径是log-error=/var/log/mysqld.log,查看此路径下面的mysqld.log日志,并且找到零时密码 cat /var/log/mysqld.log |grep password 3.根据零时密码来重新修改mysql数据库的密码 mysql_secure_installation 4.回车后,他会叫你输入密码,这是你只需要输入零时密码即可。 5.输入正确回车后就就输入新密码即可,然后在确认。 八、密码修改成功后便可以登录mysql了 以上就是Linux学习第三篇之Centos7安装mysql5.7.16数据库的详细介绍的详细内容,更多请关注学派吧其它相关文章!
这篇文章主要为大家详细介绍了Linux学习第二篇,Java环境安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 本文教程为大家分享了Java环境安装配置,供大家参考,具体内容如下 jdk版本:jdk-8u131-linux-x64.rpm 注:以下操作在root用户或具有root权限的用户下操作 一、将 dk-8u131-linux-x64.rpm拷贝到/home目录下 cp jdk-8u131-linux-x64.rpm /home/ 二、解压rpm文件 rpm -ivh jdk-8u131-linux-x64.rpm 三、环境变量的配置 注:环境变量的配置稍微麻烦一点,不过也不是特别难。 1.输入以下命令,进入到配置文件中 vim /etc/profile 2.进入配置文件后,这时是不可编辑的状态。要想编辑数据首先输入’i’,下方会显示insert单词,这时就可以插入了。在配置文件中加入以下代码即可(记得把路径改为自己的安装路径)。 JAVA_HOME=/usr/java/jdk1.8.0_131 CLASSPATH=.:/usr/java/jdk1.8.0_131/jre/lib/rt,jar PATH=$PATH/usr/java/jdk1.8.0_131 ecport PATH CLASSPATH JAVA_HOME 3.插入过后按‘esc’,此时切换到了不可插入状态,然后在输入’:wq’保存并退出。 4.输入javac查看是否配置成功 以上就是Linux学习第二篇之Java环境安装配置图文教程的详细内容,更多请关注学派吧其它相关文章! 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理
这篇文章主要为大家详细介绍了Linux学习第一篇,虚拟机和镜像文件安装配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 一、安装虚拟机(本文以vmware workstation 12为例) 1.在网上所有虚拟机并下载。 2.找到下载文件安装好 3.一直下一步 4.接下来的就是选择安装的目录了,当然如果你的电脑c盘够大够用,安装在c盘也可以,不过建议安装在非系统盘,免得影响电脑的运行速度。选择好了点击下一步。 5.安装完成后,需要输入秘钥进行注册才行,不然只能实用30天 秘钥为:5A02H-AU243-TZJ49-GTC7K-3C61N 二、安装虚拟镜像文件 1.找到已下载好的linux镜像文件,如果没有,自己下载一个 2.双击打开虚拟机 3.选择镜像文件 4.输入用户名和登录密码 5.选择安装路径 6.定义磁盘大小,一般为20g就合适了 7.单击下一步,完成。 三、安装完成后启动虚拟机可能会遇到下面这个问题 解决办法:1.重启计算机 2.进入bios中,根据每个主板型号不一样,快捷键也不一样(一般为del或者是esc) 3.进去bios后,将虚拟服务打开(默认为关闭) 4.F10(保存并退出bios系统) 以上就是Linux学习第一篇之虚拟机和镜像文件安装配置详解(图文)的详细内容,更多请关注学派吧其它相关文章! 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理
本篇文章主要介绍了详解Linux系统如何低于TCP洪水攻击,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 #最关键参数,默认为5,修改为0 表示不要重发 net.ipv4.tcp_synack_retries = 0 #半连接队列长度 net.ipv4.tcp_max_syn_backlog = 200000 #系统允许的文件句柄的最大数目,因为连接需要占用文件句柄 fs.file-max = 819200 #用来应对突发的大并发connect 请求 net.core.somaxconn = 65536 #最大的TCP 数据接收缓冲(字节) net.core.rmem_max = 1024123000 #最大的TCP 数据发送缓冲(字节) net.core.wmem_max = 16777216 #网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目 net.core.netdev_max_backlog = 165536 #本机主动连接其他机器时的端口分配范围 net.ipv4.ip_local_port_range = 10000 65535 # ……省略其它…… 注意,以下参数面对外网时,不要打开。因为副作用很明显,具体原因请google,如果已打开请显式改为0,然后执行sysctl -p关闭。因为经过试验,大量TIME_WAIT状态的连接对系统没太大影响: #当出现 半连接 队列溢出时向对方发送syncookies,调大 半连接 队列后没必要 net.ipv4.tcp_syncookies = 0 #TIME_WAIT状态的连接重用功能 net.ipv4.tcp_tw_reuse = 0 #时间戳选项,与前面net.ipv4.tcp_tw_reuse参数配合 net.ipv4.tcp_timestamps = 0 #TIME_WAIT状态的连接回收功能 net.ipv4.tcp_tw_recycle = 0 #当出现 半连接 队列溢出时向对方发送syncookies,调大 半连接 队列后没必要 net.ipv4.tcp_syncookies = 0 #TIME_WAIT状态的连接重用功能 net.ipv4.tcp_tw_reuse = 0 #时间戳选项,与前面net.ipv4.tcp_tw_reuse参数配合 net.ipv4.tcp_timestamps = 0 #TIME_WAIT状态的连接回收功能 net.ipv4.tcp_tw_recycle = 0 为了处理大量连接,还需改大另一个参数: # vi /etc/security/limits.conf 在底下添加一行表示允许每个用户都最大可打开409600个文件句柄(包括连接): * – nofile 409600 以上就是Linux系统如何防止TCP洪水攻击的方法介绍的详细内容,更多请关注学派吧其它相关文章! 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理
本篇文章主要介绍了linux如何无损调整分区大小,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 情况: home:500G root:50G root分区不够用 思路:把home分区的空间划一部分到root分区 # 设置home分区大小为200G,释放300G空间 $ lvreduce -L 200G /dev/centos/home # 将空闲空间扩展到root分区 $ lvextend -l +100%FREE /dev/centos/root # 使用XFS文件系统自带的命令集增加分区空间 $ xfs_growfs /dev/mapper/centos-root 实例 situation 挂载在根目录的分区 /dev/mapper/centos-root 爆满,占用100% $ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 50G 19M 100% / devtmpfs 32G 0 32G 0% /dev tmpfs 32G 0 32G 0% /dev/shm tmpfs 32G 2.5G 29G 8% /run tmpfs 32G 0 32G 0% /sys/fs/cgroup /dev/mapper/centos-home 476G 33M 476G 1% /home /dev/sda1 497M 238M 259M 48% /boot tmpfs 6.3G 0 6.3G 0% /run/user/0 analyze 挂载在根目录的分区空间太小,只有50G,而服务器 home 目录为非常用目录,挂在了近500G的空间。 思路:从 centos-home 分区划出300G空间到 centos-root 分区。 operation 1.查看各分区信息 $ lvdisplay --- Logical volume --- LV Path /dev/centos/home LV Name home VG Name centos LV UUID...
下面小编就为大家带来一篇使用Linux的alternatives命令替换选择软件的版本方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 上周在安装搜索引擎Elasticsearch时,要求安装比较新的java 版本,我选择了java 1.8.0,安装java 成功后使用java -version 发现使用的版本仍旧是1.6.0, 查询了一些资料,发现可以使用Linux的alternatives命令替换选择软件的版本。 说明: alternatives –install <link> <name> <path> <priority> 其中, install表示安装 link是符号链接 name则是标识符 path是执行文件的路径 priority则表示优先级 一:先来看看目前java的版本 二:使用Linux的alternatives命令安装java 1.8.0 1. 先用alternatives查看目前系统中有哪些java版本 alternatives –config java 2. 使用alternatives命令安装java 1.8.0 alternatives –install /usr/bin/java java /usr/local/java/jre1.8.0_131/bin/java 4 解释: /usr/bin/java 是java命令的路径,用which java查看,对应参数<link> java对应参数<name> /usr/local/java/jre1.8.0_131/bin/java对应<path>,表示java1.8.0 的java命令的路径 数字4 对应 参数<priority> ,因为已经有3个程序提供java了,所以要写4 3.用alternatives –config java 查看安装java 1.8.0 成功没有 划红线的java就是我刚刚安装的,说明安装成功 三:选择java版本 alternatives –config java 看到的结果和二(3)的结果一样,注意最后一句英文:Enter to keep the current selection[+], or type selection number ,翻译过来就是按Enter键来保存当前选择[+],或渐入选择号码。我键入号码4 表示我选择使用java 1.8.0 四:使用java -version查看选择的版本 以上就是Linux如何使用alternatives命令来替换选择软件的版本方法的详细内容,更多请关注学派吧其它相关文章!
本篇文章主要介绍了解决linux下zip文件解压乱码问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 原因 由于zip格式并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。 解决方案一 使用7z解压。 安装p7zip和convmv # fedora $ su -c 'yum install p7zip convmv' # ubuntu $ sudo apt-get install p7zip convmv 执行一下命令解压缩 # 使用7z解压缩 $ LANG=C 7za x your-zip-file.zip # 递归转码 $ convmv -f GBK -t utf8 --notest -r . 解决方案二 在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。 虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。 有2种方式解决问题: 1. 通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip –help对这个参数有一行简单的说明。 2. 在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件 /etc/environment中加入2行 UNZIP="-O CP936" ZIPINFO="-O CP936" 这样Gnome桌面的归档文件管理器(file-roller)可以正常使用unzip解压中文,但是file-roller本身并不能设置编码传递给unzip。 以上就是linux下zip文件解压乱码问题的解决办法分享的详细内容,更多请关注学派吧其它相关文章!
这篇文章主要介绍了Centos Linux7设置静态IP的实例的相关资料,需要的朋友可以参考下 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 Centos Linux7设置静态IP的实例 ## 先进入配置文件的放置位置: cd /etc/sysconfig/network-scripts/ ## 查看当前网卡使用的是哪个文件 ip add ## 过滤出配置文件列表 ll | grep ifcfg ## 编辑配置文件 vi ifcfg-ens160 ## 配置文件内容 主要:BOOTPROTO IPADDR NETMASK NM_CONTROLLED ONBOOT 这几个字段,其他的不变 TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.251 NETMASK=255.255.255.0 DNS1=8.8.8.8 DNS2=8.8.4.4 NM_CONTROLLED=no DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens160 UUID=23a77b70-a6e3-4399-a5bd-4ca312a0f123 DEVICE=ens160 ONBOOT=yes ## 修改网关配置文件: vi /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=localhost.localdomain GATEWAY=192.168.1.1 ## 重启网络服务 systemctl restart network.service 以上就是Linux7如何设置静态IP的实例的详细内容,更多请关注学派吧其它相关文章!
这篇文章主要介绍了linux共享上网设置实例详解的相关资料,需要的朋友可以参考下 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624 商祺云-阿里代理、景安代理、西部代理 linux共享上网设置 1、打开内核ip转发 vi /etc/sysctl.conf net.ipv4.ip_forward = 1 执行sysctrl -p生效 2、如果主机未启用防火墙,那么如下设置iptables [root@Web-Lnmp02 ~]# iptables -F [root@Web-Lnmp02 ~]# iptables -P INPUT ACCEPT [root@Web-Lnmp02 ~]# iptables -P FORWARD ACCEPT [root@Web-Lnmp02 ~]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 或者 iptables -t nat -A POSTROUTING -s ip -o eth0 -j MASQUERADE //指定某ip或ip段可以转发 iptables -t nat -A POSTROUTING -s 192.168.0.170 -o enp1s0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o enp1s0 -j MASQUERADE [root@Web-Lnmp02 ~]# /etc/init.d/iptables save [root@Web-Lnmp02 ~]# /etc/init.d/iptables restart 说明: iptables -F #清除原有的filter有中的规则 iptables -t nat -F #清除原有的nat表中的规则 iptables -P FORWARD ACCEPT #缺省允许IP转发 如果主机上启用了防火墙,需加上下面两句: Code: iptables -A FORWARD -s 192.168.122.0/24 -o eth0 -j ACCEPT iptables -A FORWARD -d 192.168.122.0/24 -m state --state ESTABLISHED,RELATED -i...
阿里云活动整理如下 购买流程: 先领取活动1 价值1888的优惠卷。 在参与活动 活动1:价值1888元的优惠卷礼包 领取地址:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=eju0fy49 活动2:普惠上云,云服务器1核1G仅需293元/年 领取地址:https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=eju0fy49 活动3:阿里云mysql数据库基础班仅需10元/6个月 领取地址:https://m.aliyun.com/markets/aliyun/act/mysql_discount?spm=5176.8112568.520614.5.21a39ed5wb2FRW&accounttraceid=7d7b830c-49b2-4c4b-aa24-05dbde2ad4a7&userCode=eju0fy49 本网站会持续更新阿里云最新优惠信息,给大家提供优惠便利。 如有不懂 可以加我们QQ 7271895 690624 进行免费咨询
故障: 流量异常 这几天小编的服务器突然进行了卡顿、流量异常、服务器安装了宝塔、各种安全软件也安装了。没什么用。最后全部结束掉。 上传带宽达到500K一秒。而服务器带宽只有3M。造成了网页打开特别的缓慢。宝塔页面也非常卡、每次重启服务器都会结束异常、 上传带宽500多KB 下载300多KB 已经把带宽跑满。 下面说解决方法 解决方法: 使用 iftop 命令监测网卡时时流量。 Iftop工具主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同哪台机器间的流量大小,非常适合于代理服务器和iptables服务器使用,这样可以方便的查看各客户端流量情况。iftop可以在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop. 1:ssh链接服务器 输入 iftop命令 有可能提示: -bash: iftop: command not found 这是需要我们安装下iftop yum install -y iftop 使用iftop监控网卡实时流量. 1.监控某网卡 iftop -i eth0 -n 2.监控某网卡并同时显示是什么服务. iftop -i eth0 -n -P iftop使用参数说明: -i 设定监测的网卡,如:# iftop -i eth1 -B 以bytes为单位显示流量(默认是bits),如:# iftop -B -n 使host信息默认直接都显示IP,如:# iftop -n -N 使端口信息默认直接都显示端口号,如: # iftop -N -F 显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0 -h (display this message),帮助,显示参数信息 -p 使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息; -b 使流量图形条默认就显示; -f 过滤计算包用的; -P 使host信息及端口信息默认就都显示; -m 设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M 如果还有问题、可以联系我们学派吧 客服QQ 7271895 690624
Nginx 服务绑定域名的方法 以 YUM 安装的 Nginx 为例,域名绑定需要编辑 Nginx 的配置文件完成,Nginx 配置文件是 /etc/nginx/nginx.conf,将默认的server {...}配置修改成如下: 修改后的意思是: 1、访问 www.123.com,会跳转到 /home/web1 目录; 2、访问 www.abc.com,会跳转到 /home/web2 目录。 修改之后重启 Nginx 服务即可。 Tomcat 服务绑定域名的方法 域名绑定需要编辑 Tomcat 的配置文件完成,Tomcat 配置文件是 $TOMCAT_HOME/conf/server.xml,$TOMCAT_HOME 是 Tomcat 的安装目录。 将上述内容修改为: 修改后的意思是: 1、访问 www.abc.com,会默认跳转到 /data/wwwroot/default 目录; 2、访问服务器的 IP 地址 120.76.210.250,会默认跳转到 /data/wwwroot/web 目录; 修改之后重启 Tomcat 服务器,即可生效。 Apache 服务绑定域名的方法 例如使用一键安装包配置的 Apache 环境,添加网站配置方法如下: 1、进入站点配置文件目录,命令如下: cd /alidata/server/httpd/conf/vhosts/ 2、创建一个新的配置文件,命令如下: vi aa.conf 3、按键盘上的字母 “i” ,开始编辑文件,将下面的内容复制过去。 Order allow,denyDeny from allDocumentRoot /alidata/www/testServerName www.test.comServerAlias test.comErrorLog “/alidata/log/httpd/test-error.log”CustomLog “/alidata/log/httpd/test.log” 注意:对应的日志名字也需要自己修改一下,可以区分网站的日志信息 4、重启 Apache 测试,命令如下: /alidata/server/httpd/bin/apachectl restart Apache 服务配置实现多域名跳转 例如程序的目录为 /var/www/html 网站目录结构: Apache 核心配置内容: 主要是开启 Apache 的虚拟主机功能,配置对应的虚拟主机到对应的目录即可。 实现效果: 使用a.example.com访问时,是访问到/var/www/html/a目录 使用b.example.com访问时,是访问到/var/www/html/b目录 使用c.example.com访问时,是访问到/var/www/html/c目录 Apache 服务配置二级域名 1、拥有一个有泛域名解析的顶级域名,例如: aliyun.com 2、在 httpd.conf 中打开 mod_rewrite 模块 3、在 httpd.conf 的最后,添加以下内容: RewriteEngine onRewriteMap lowercase int:tolowerRewriteMap vhost txt:/usr/local/etc/apache/vhost.mapRewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$RewriteCond ${vhost:%1} ^(/.)$RewriteRule ^/(.)$ %1/$1 注意:其中的 /usr/local/etc/apache 是你的 Apache...
Nginx 服务绑定域名的方法 以 YUM 安装的 Nginx 为例,域名绑定需要编辑 Nginx 的配置文件完成,Nginx 配置文件是 /etc/nginx/nginx.conf,将默认的server {...}配置修改成如下: 修改后的意思是: 1、访问 www.123.com,会跳转到 /home/web1 目录; 2、访问 www.abc.com,会跳转到 /home/web2 目录。 修改之后重启 Nginx 服务即可。 Tomcat 服务绑定域名的方法 域名绑定需要编辑 Tomcat 的配置文件完成,Tomcat 配置文件是 $TOMCAT_HOME/conf/server.xml,$TOMCAT_HOME 是 Tomcat 的安装目录。 将上述内容修改为: 修改后的意思是: 1、访问 www.abc.com,会默认跳转到 /data/wwwroot/default 目录; 2、访问服务器的 IP 地址 120.76.210.250,会默认跳转到 /data/wwwroot/web 目录; 修改之后重启 Tomcat 服务器,即可生效。 Apache 服务绑定域名的方法 例如使用一键安装包配置的 Apache 环境,添加网站配置方法如下: 1、进入站点配置文件目录,命令如下: cd /alidata/server/httpd/conf/vhosts/ 2、创建一个新的配置文件,命令如下: vi aa.conf 3、按键盘上的字母 “i” ,开始编辑文件,将下面的内容复制过去。 Order allow,denyDeny from allDocumentRoot /alidata/www/testServerName www.test.comServerAlias test.comErrorLog “/alidata/log/httpd/test-error.log”CustomLog “/alidata/log/httpd/test.log” 注意:对应的日志名字也需要自己修改一下,可以区分网站的日志信息 4、重启 Apache 测试,命令如下: /alidata/server/httpd/bin/apachectl restart Apache 服务配置实现多域名跳转 例如程序的目录为 /var/www/html 网站目录结构: Apache 核心配置内容: 主要是开启 Apache 的虚拟主机功能,配置对应的虚拟主机到对应的目录即可。 实现效果: 使用a.example.com访问时,是访问到/var/www/html/a目录 使用b.example.com访问时,是访问到/var/www/html/b目录 使用c.example.com访问时,是访问到/var/www/html/c目录 Apache 服务配置二级域名 1、拥有一个有泛域名解析的顶级域名,例如: aliyun.com 2、在 httpd.conf 中打开 mod_rewrite 模块 3、在 httpd.conf 的最后,添加以下内容: RewriteEngine onRewriteMap lowercase int:tolowerRewriteMap vhost txt:/usr/local/etc/apache/vhost.mapRewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$RewriteCond ${vhost:%1} ^(/.)$RewriteRule ^/(.)$ %1/$1 注意:其中的 /usr/local/etc/apache 是你的 Apache...
由于工作需要抽出一周的时间来研究C/C++访问各种数据库的方法,并打算封装一套数据库操作类,现在奉上最简单的一部分:在Linux下访问MySQL数据库。 想用C++写项目,数据库是必须的,所以这两天学了一下C++操作MySQL数据库的方法。也没有什么教程,就是在网上搜的知识,下面汇总一下。 连接MySQL数据库有两种方法:第一种是使用ADO连接,不过这种只适合Windows平台;第二种是使用MySQL自己的C API函数连接数据库。我是在Linux平台下开发,所以就采用第二种方法,有很多Api函数,但是常用的就几个,我也是就用到其中的几个。 API函数 1.mysql_real_connect() 连接一个mysql服务器 MYSQL *mysql_real_connect (MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag) 如果连接成功,返回MYSQL*连接句柄。如果连接失败,返回NULL。对于成功的连接,返回值与第1个参数的值相同 2.mysql_query() 执行指定”以NULL终结的字符串”的SQL查询 返回一个结果表,假定查询成功,可以调用 mysql_num_rows() 来查看对应于 SELECT 语句返回了多少行,或者调用 mysql_affected_rows() 来查看对应于 DELETE,INSERT,REPLACE 或 UPDATE 语句影响到了多少行。 3.mysql_store_result() MYSQL_RES *mysql_store_result(MYSQL *mysql) 检索完整的结果集至客户端。客户端处理结果集最常用的方式是通过调用mysql_store_result(),一次性地检索整个结果集。该函数能从服务器获得查询返回的所有行,并将它们保存在客户端。对于成功检索了数据的每个查询(SELECT、SHOW、DESCRIBE、EXPLAIN、CHECK TABLE等),必须调用mysql_store_result()或mysql_use_result() 。对于其他查询,不需要调用mysql_store_result()或mysql_use_result(),但是如果在任何情况下均调用了mysql_store_result(),它也不会导致任何伤害或性能降低。 4.mysql_num_rows() 返回结果集中的行数。 5.mysql_num_fields() 返回结果集中的字段数,如果失败,则返回 false。 6.mysql_fetch_field() MYSQL_FIELD* mysql_fetch_field(MYSQL_RES *result); 获取下一个表字段的类型,结束返回NULL。 7.mysql_fetch_row() MYSQL_ROW mysql_fetch_row(MYSQL_RES *result); 从结果集中获取下一行,成功返回一个数组,值大于0。 8.mysql_fetch_field_direct() MYSQL_FIELD* mysql_fetch_field_direct(MYSQL_RES *result, int i); 给定字段编号,返回表字段的类型,结束返回NULL。 简单的学生信息管理代码 光看也记不住啊,就用这些函数写了一个学生信息管理界面,唉,去年这时候C语言课程设计,当时还不知道用数据库,全用文件写的,知道晚了很后悔啊。。。。下面是代码: /************************************************************************* > File Name: student.cpp > Author: Tanswer_ > Mail: 98duxm@gmail.com > Created Time: 2017年05月28日 星期日 16时50分34秒 ************************************************************************/ #include <iostream> #include <string> #include <stack> #include <algorithm> #include <sstream> #include <mysql/mysql.h> #include <unistd.h> using namespace std; MYSQL mysql; MYSQL_ROW row; MYSQL_FIELD* field = NULL;...
这篇文章主要介绍了Linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。 功能说明:功能强大的网络工具<( ̄▽ ̄)>,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍,功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。nc可以提供如下的网络功能: 1) 监听特定端口,这时候nc就可以作为一个服务器,但是我发现这样使用nc生成的服务器仅仅是一个echo服务器而已,没有其他更加强大的功能. 2) 连接特定端口,这时候nc就成为了一个客户端,同样的,也是一个简单的客户端,只能起echo的作用. 3) 扫描端口,这可以作为查询某个机器上是否开启了某个端口. 几个具体的使用例子 例子1: 使用nc打开linux下的特定端口 nc -lp 23 & (即telnet) netstat -an|grep 23 (查看端口是否正常打开) 例子2: 使用nc进行文件传输,命令 ssh root@www.freetstar.com “( nc -l 10003 > destination 2>/dev/null & )” && cat source | nc www.freetstar.com 10003 && 前边ssh登录到远程主机www.freetstar.com上,用nc命令打开本地的10003端口,成为后台进程 &&后边,在本地机器上打开source文件,并将其重定向到www.freetstar.com的10003号端口,也就是让远程www.freetstar.com主机10003号端口接收source文件 例子3: 使用nc扫描linux下的特定端口 nc -v -z host.example.com 70-80 扫描端口(70到80),可指定范围。-v输出详细信息。 例子4: 克隆硬盘或分区 类似于例子2,只需要由dd获得硬盘或分区的数据,然后传输即可。 克隆硬盘或分区的操作,不应在已经mount的的系统上进行。所以,需要使用安装光盘引导后,进入拯救模式(或使用Knoppix工 具光盘)启动系统后 server1上执行:# nc -l -p 1234 | dd of=/dev/sda server1上执行1234号端口监听,将得到的文件保存到/dev/sda上 server2上执行:# dd if=/dev/sda | nc server1 1234 例子5: 保存Web页面 while true; do nc -l -p 80 -q 1 < somepage.html; done 例子6: 模拟HTTP Headers [root@hatest1 ~]# nc www.huanxiangwu.com 80 GET / HTTP/1.1 Host: ispconfig.org Referrer: mypage.com User-Agent: my-browser 在nc命令后,输入红色部分的内容,然后按两次回车,即可从对方获得HTTP Headers内容。 例子7: 聊天 server1上监听1234端口[root@hatest2 tmp]# nc -lp 1234 server2上向server1的1234端口发送消息[root@hatest1 ~]# nc server1 1234 这样,双方就可以相互交流了。使用Ctrl+D正常退出。 更多的使用,查看man手册 nc...
linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。 一、crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 Linux下的任务调度分为两类,系统任务调度和用户任务调度。 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。 /etc/crontab文件包括下面几行: cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=HOME=/ # run-parts 51 * * * * root run-parts /etc/cron.hourly 24 7 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 前 四行是用来配置crond任务运行的环境变量,第一行SHELL变量指定了系统要使用哪个shell,这里是bash,第二行PATH变量指定了系统执行 命令的路径,第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务 执行信息给用户,第四行的HOME变量指定了在执行命令或者脚本时使用的主目录。第六至九行表示的含义将在下个小节详细讲述。这里不在多说。 用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。 使用者权限文件: 文件: /etc/cron.deny 说明: 该文件中所列用户不允许使用crontab命令 文件: /etc/cron.allow 说明: 该文件中所列用户允许使用crontab命令 文件: /var/spool/cron/ 说明: 所有用户crontab文件存放的目录,以用户名命名 crontab文件的含义: 用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month week command 其中: minute: 表示分钟,可以是从0到59之间的任何整数。 hour:表示小时,可以是从0到23之间的任何整数。 day:表示日期,可以是从1到31之间的任何整数。 month:表示月份,可以是从1到12之间的任何整数。 week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。 command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。 在以上各个字段中,还可以使用以下特殊字符: 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。 二、crond服务 安装crontab: yum install crontabs 服务操作说明: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service...