Ⅰ 如何在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分鍾後自動關機
------------------------------------------------------
靠~累死我了。一個字一個字打的。你這五分都對不起我多吃的二兩飯。