Ⅰ 如何在ubuntu中命令行关闭python socket服务器
本文介绍下,在solaris 系统下,python socket server重启后,提示端口被占用,telnet端口失败。这里给出一个解决方法,有需要的朋友参考下。
在solaris 系统下,socket server被重启后,提示端口被占用,telnet端口又是不成功的,说明服务已被关闭。
通过netstat可以看到端口还处于于fin_wait_2状态,solaris要4分钟才能关闭。
遇到这个问题时,可以采用如下的方法解决,以减少等待时间。
1,加上s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)。
代码:
复制代码代码示例:
self.host=socket.gethostbyname(socket.gethostname())
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((self.host,self.port))
s.listen(5)
2,修改系统fin_wait,time_wait的时间设置。这个时间改短,也利于系统系能。
修改方法
查看或设置:
使用get命令来确定当前时间间隔,并使用set命令将时间间隔指定为30秒。
例如:
复制代码代码示例:
ndd -get /dev/tcp tcp_time_wait_interval
ndd -set /dev/tcp tcp_time_wait_interval 30000
缺省值:对于 Solaris 操作系统,缺省等待时间间隔为 240000 毫秒(即 4 分钟)。
建议值:60000 毫秒。
Solaris TCP_FIN_WAIT_2_FLUSH_INTERVAL
描述:
指定禁止处于FIN_WAIT_2状态的连接保持该状态的计时器时间间隔。
当连接比率较高时,这将累积大量的TCP/IP连接,从而导致服务器性能下降。在高峰时间段,服务器会发 生延迟。
如果服务器延迟,netstat命令显示对HTTP Server打开的许多套接字处于CLOSE_WAIT或FIN_WAIT_2状态。
明显的延迟可能会长达4分钟,其间服务器无法发送任何响应,但是CPU利用率保持很高,所有活动都在系统进程中。
查看和设置:
使用get命令来确定当前时间间隔,并使用set命令将时间间隔指定为67.5秒。
例如:
Ⅱ 阿里云服务器ubuntu怎么关闭防火墙
1.关闭ubuntu的防火墙 ufw disable
2.卸载了iptables apt-get remove iptables
1.用iptables -F这个命令来关闭防火墙,但是使用这个命令前,千万记得用iptables
-L查看一下你的系统中所有链的默认target,iptables
-F这个命令只是清除所有规则,只不会真正关闭iptables.想象一下,如果你的链默认target是DROP,本来你有规则来允许一些特定的端口,
但一旦应用iptables -L ,清除了所有规则以后,默认的target就会阻止任何访问,当然包括远程ssh管理服务器的你.
所以我建议的关闭防火墙命令是
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
总之,当你要在你的服务器上做任何变更时,最好有一个测试环境做过充分的测试再应用到你的服务器.除此之外,要用好iptables,那就要理解
iptables的运行原理,知道对于每一个数据包iptables是怎么样来处理的.这样才能准确地书写规则,避免带来不必要的麻烦.
Ⅲ 如何在 ubuntu 下关闭 apache 服务器的开机自启动
ubuntu下关闭apache服务器开机自启动的方法如下:
电脑开机进入ubuntu系统;
右击系统桌面,选择在终端中打开,进入命令行窗口;
在命令行中输入 chkconfig --del apache再按回车即可。
Ⅳ ubuntu 16.04vnc时如何关闭服务器屏幕
又不又nt view16.04will时乳关闭服务器名不按操作来。
Ⅳ 如何Ubuntu 16.04 上的 NGINX Web 服务器
安装 Certbot
第一步是安装 certbot,该软件客户端可以几乎自动化所有的过程。 Certbot 开发人员维护自己的 Ubuntu 仓库,其中包含比 Ubuntu 仓库中存在的软件更新的软件。
添加 Certbot 仓库:
# add-apt-repository ppa:certbot/certbot
接下来,更新 APT 源列表:
# apt-get update
此时,可以使用以下 apt 命令安装 certbot:
# apt-get install certbot
Certbot 现已安装并可使用。
获得证书
有各种 Certbot 插件可用于获取 SSL 证书。这些插件有助于获取证书,而证书的安装和 Web 服务器配置都留给管理员。
我们使用一个名为 Webroot 的插件来获取 SSL 证书。
在有能力修改正在提供的内容的情况下,建议使用此插件。在证书颁发过程中不需要停止 Web 服务器。
配置 NGINX
Webroot 会在 Web 根目录下的 .well-known 目录中为每个域创建一个临时文件。在我们的例子中,Web 根目录是 /var/www/html。确保该目录在 Let’s Encrypt 验证时可访问。为此,请编辑 NGINX 配置。使用文本编辑器打开 /etc/nginx/sites-available/default:
# $EDITOR /etc/nginx/sites-available/default
在该文件中,在 server 块内,输入以下内容:
location ~ /.well-known {
allow all;
}
保存,退出并检查 NGINX 配置:
# nginx -t
没有错误的话应该会显示如下:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重启 NGINX:
# systemctl restart nginx
Ⅵ 如何正确配置 Ubuntu 14.04 服务器
root 登陆
在登陆刚启动的 CVM 实例之前,我们需要知道服务器的公网 IP,以及 root 用户的密码。如果你选择的是自动生成密码,那么请查看邮箱。接下来,我们在本地使用如下命令登陆到服务器。
$ ssh root@qcloud-cvm-ip # 请将 qcloud-cvm-ip 替换为实际 IP
按照提示进行操作,输入 root 用户验证所需的密码(可以从腾讯云发送的邮件中找到)。如果这是你第一次使用密码登陆服务器,登陆成功后系统还会提示你更换 root 密码。
root 用户
root 用户是 Linux 环境下的超级管理用户,拥有非常大的权限。由于 root 用户权限过大,不建议大家日常使用 root 账号进行服务器操作。因为有可能会出现让你加班、甚至被开除的意外。
因此,我们接下来创建一个新的用户账号,在日常工作中使用。
创建新用户
以 root 账号登陆服务器之后,我们就可以添加以后经常使用的用户账号了。本文中,我们将创建一个名为demo 的新用户,你可以根据自己的情况选择合适的用户名。
$ adser demo
系统会要求你回答一些问题,最重要的就是设置该用户的密码。对于其他问题,并不是必须的,可以直接按回车键完成。
添加 root 权限
现在 demo 用户还只是一名普通用户,不具备系统管理权限。我们需要为该用户添加 root 权限。这样,就可以在每个命令前加上 sudo 以管理员权限执行了。
安装 sudo
由于 Debian 8 系统默认没有安装 sudo 包,因此我们先通过 apt-get 安装。
首先,更新 apt 包目录:
$ apt-get update
然后使用下面的命令安装 sudo:
$ apt-get install sudo
现在可以使用 sudo 和 visudo 命令了。
赋予 sudo 权限
为了给新用户添加管理权限,我们需要把新用户添加到 sudo 用户组。Ubuntu 操作系统中,属于sudo 用户组的用户默认可以使用 sudo 命令。
在 root 用户下 ,运行如下命令,将 demo 用户添加到 sudo 用户组:
$ usermod -a -G sudo demo
上面的命令中,-a 选项指的是将用户添加到对应的用户组中,只能配合 -G 选项一起使用。-G 后可以指定多个用户组名称。如 $ usermod -a -G sudo, wwww-data。
添加公钥验证
推荐给新用户添加公钥验证,一来可以避免每次登陆时都要输入密码,二来需要私钥才能登陆可以提高安全性。
生成密钥对
如果没有现成的 SSH 密钥对(由公钥和私钥组成),很容易就可以生成。只需要在本地机器上输入如下命令即可:
ssh-keygen
假如本地用户的名称为 demo,接下来应该会看到如下输出:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/demo/.ssh/id_rsa):
如果你以前没有生成过密钥对,按回车接受默认设置即可。如果有旧的密钥对的话,这样会覆盖以前的密钥对,建议更改为别的文件名。系统还会提示输入口令(passphrase),为了简单起见,我们直接回车使用空口令。如果你输入了口令的话,那么在 SSH 登陆时,除了需要提供密钥之外,还需要输入口令才能登陆。
命令运行结束后,会在本地用户的根目录中的 .ssh 目录下创建一个私钥 id_rsa 和一个公钥id_rsa.pub。记得别公开分享你自己的私钥。
复制公钥
赋值公钥有两种方法,一是通过 sshh--id 脚本自动赋值到远程用户,二是手动安装。
ssh--id 脚本
如果本地机器上安装了 ssh--id 脚本,那么就可以使用该脚本将公钥安装到任何有登陆权限的用户。
运行该脚本,同时指定用户名和服务器的 IP 地址:
$ ssh--id demo@qcloud-cvm-ip
按提示输入登陆密码后,你刚才生成的公钥就会自动赋值到远程用户的 .ssh/authorized_keys 文件中。接下来就可以使用对应的私钥登陆服务器了。
手动安装公钥
使用如下命令打印你刚刚生成的公钥(id_rsa.pub:
$ cat ~/.ssh/id_rsa.pub
打印出来的公钥大致应该是这样子的:
ssh-rsa /+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+/EP3utr2+Qhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU++KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf [email protected]
然后,以新用户身份登陆服务器:
$ ssh demo@qcloud-cvm-ip
登陆成功后,应该会进入该用户的根目录。接下来创建一个叫 .ssh 的新目录,然后使用如下命令限制目录权限:
mkdir .ssh
chmod 700 .ssh
700 表示只有目录的所有者才能读、写和执行。
现在使用 Vim 文本编辑器在 .ssh 目录下创建一个名为 authorized_keys 的文件。
$ vim .ssh/authorized_keys
在 Vim 中按 i 进入插入模式,然后 Ctrl + v 粘贴之前赋值的公钥。然后按 Esc 回到正常模式,在英文输入法下键入 :wq 保存并退出文件。
并使用如下命令限制文件的权限:
chmod 600 .ssh/authorized_keys
600 表示文件所有者可读、可写。
之后,你就可以使用私钥验证登陆服务器了,不必重复输入密码。
禁用 root 登陆
在开始配置服务器的时候 ,我们提到了最好不用使用 root 账号登陆服务器。为了确保不会出现这种情况,我们可以修改 SSH daemon 的配置,禁止远程登陆值 root 账号。
以上面配置的管理员用户身份,使用 sudo 命令打开配置文件:
$ sudo vim /etc/ssh/sshd_config
如果想禁止远程 root 登陆,找到下面这行文本:
PermitRootLogin yes
将其修改为
PermitRootLogin no
并保存文件。由于我们已经创建了一个管理用户,而且可以视情况增加权限,禁止 root 账号登陆反而可以让服务器更加安全。
最后,只需要重启 SSH 服务即可让新配置生效。
$ systemctl restart ssh
本地配置 SSH
完成以上配置之后, 以后我们每次只需要 ssh demo@qcloud-cvm-ip 即可登陆服务器。
不过这样还是有点麻烦,每次都得输入用户名和 IP 地址。为了进一步简化操作,我们对本地的 SSH 登陆进行配置。
打开 ~/.ssh/config 文件,然后添加如下配置:
Host qcloud
Hostname qcloud-cvm-ip
User demo
IdentityFile ~/.ssh/id_rsa
之后,只需要执行 ssh qcloud 即可登陆服务器。
Ⅶ ubuntu上怎样关闭远程服务器
我应该对你的题目理解了,就用代码来举例子哈:
#!/bin/sh
arr=(10.142.130.110.142.130.210.143.130.3)
foripain${arr[*]}
do
echo${ipa}
done
瞧,简单明了。
你把我那行echo ${ipa}换成你自己的处理远程服务器的就行了。
Ⅷ SSH连接Ubuntu Server服务器的两种方式
SSH(secure shell)用于远程和服务器交互
Ubuntu Server默认安装了OpenSSH Server,可通过端口22连接
SSH客户端可以用用户名密码的方式连接服务器,也可以用密钥对的方式连接服务器。
可以使用SSH客户端工具PuTTY,windows10自带的SSH工具,或者VMWare的SSH工具连接服务器
1.在命令行用 用户名和密码连接
ssh username@serveraddress
2.SSH客户端还可以用 密码对 (公钥和私钥)连接
这里使用Win10自带的工具
生成密钥对
运行命令:ssh-keygen
添加公钥
打开生成的公钥文件id_rsa.pub,复制全部内容
使用SSH密码登录的方式登录Ubuntu服务器,在当前用户目录创建文件夹.ssh,进入.ssh文件夹并创建文件authorized_keys,粘贴从公钥复制的内容并保存文件
修改SSH配置
修改Ubuntu Server的文件:
/etc/ssh/sshd_config
将PubkeyAuthentication yes前面的注释去掉
运行命令重启sshd服务
sudo systemctl restart sshd
退出SSH连接,重新用私钥登录登录
ssh <username>@<serveraddress> -i <私钥路径>
Ⅸ ubuntu 服务器版命令
命令没有版本的区别,桌面版和服务器版都一样。服务器版仅仅是没有桌面环境。我是拨号上网的个人服务器,一般只用几个命令:
刚装完机后,先更新,用下面两个
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
-------------------------------------------------------
驱动就免了,反正也没有桌面,网卡一般都能驱上,特殊的就得自己安装了。这要看驱动的readme文件,都不一样的,有直接安装的,有要编译的。
-------------------------------------------------------
设置pppoe上网
sudo pppoeconf
全是英文的,不过都很简单,最后一步是选是否开机自动运行,当然也可以以后在/etc/rc.local里设置
-------------------------------------------------------
开启路由功能:
sudo vim /etc/sysctl.conf
vim可换成你自己喜欢的编辑器,加入
net.ipv4.ip_forward = 1
有可能原文件里有,只是在前面加了个#,注释掉了。可直接去掉#
-------------------------------------------------------
增加连接共享
sudo vim /etc/rc.local
增加以下内容:
sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
其中ppp0表示能联入internet的网络连接,可用ifconfig查看
--------------------------------------------------------
至此,服务器和客户机都可以上网了。再剩下的就是安装你需要的功能了,无非是sudo apt-get XXXX
--------------------------------------------------------
安装软件可能需要权限修改
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
其中×××指文件名(也可以是文件夹名,不过要在chmod后加-ld)。
-----------------------------------------------------------------
最后就是重启、关机命令了
重启命令:
1、sudo reboot
2、sudo shutdown -r now 立刻重启
3、sudo shutdown -r 10 过10分钟自动重启
4、sudo shutdown -r 20:35 在时间为20:35时候重启
关机命令:
1、sudo halt 立刻关机
2、sudo poweroff 立刻关机
3、sudo shutdown -h now 立刻关机
4、sudo shutdown -h 10 10分钟后自动关机
------------------------------------------------------
靠~累死我了。一个字一个字打的。你这五分都对不起我多吃的二两饭。