.net 程序員的centos命令總結
1,ssh相關
在初始化一台雲服務器的時候,第一件事情就是去把該關的門都關上,首先第一關就是禁用root登錄,禁用密碼登錄,順便改一下遠程登錄端口,讓登錄都通過ssh密鑰對來進行,阿里雲里有密鑰對管理,創建完以後會下載一個私鑰給你,公鑰通過將密鑰對綁定到新建的服務器放到新服務器的目錄/root/.ssh/authorized_keys 這個文件就是公鑰.
一,給root設置一個密碼
passwd root #輸入兩次密碼確認
二,創建一個用於遠程登陸的用戶,我的新用戶名叫newuser
useradd newuser
passwd newuser //輸入兩次密碼確定,新用戶就創建成功了
三,使得私鑰可以用於newuser登錄
#1,創建文件夾
mkdir /home/newuser/.ssh
#2,複製公鑰到用戶的.ssh目錄
cp /root/.ssh/authorized_keys /home/newuser/.ssh/
#3,修改/home/newuser/.ssh/ 這個文件夾所屬的用戶和權限 【以root身份才可以執行】
chown newuser /home/newuser/.ssh/ -R #修改/home/newuser/.ssh/歸屬 newuser所有,-R表示遞歸執行 chown是change own的簡稱
#4,修改權限authorized_keys公鑰的權限,修改文件所屬者和相應的權限
chmod 700 /home/newuser/.ssh/authorized_keys
#chmod的是change mode的簡稱,權限分三位,第一位的數字表示文件所屬者的權限,第二位表示文件所在組其他人的對文件的權限,第三位表示其他人對文件的權限
#文件的權限分三種分別位讀寫和執行,對應的二進制碼位100【讀】,010【寫】 和001【執行】,10進制表示的文件權限即為相應權限的和,比如讀寫執行就是100+010+001=111轉換成10進制就是7
#chmod和chown可以說是非常常用的命令,如果根據他們原來英文名稱去記憶會容易許多。
四,通過MobaXterm_Personal測試新用戶通過ssh密鑰對連接是否可以成功
五,開啟防火牆,開放新端口,禁用默認遠程端口
#1,開啟防火牆,並設置開機啟動
systemctl start firewalld.service
systemctl enable firewalld.service
#開啟用於遠程的端口為保險起見先留着22
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=1000/tcp --permanent #控制1000端口可以通過防火牆【作為遠程登錄端口】
firewall-cmd --zone=public --remove-port=22/tcp --permanent #關閉22端口
firewall-cmd --reload #刷新配置,使得配置生效
# 修改ssh配置使得1000端口可用於遠程登錄
vim /etc/ssh/sshd_config #按i進入編輯狀態,按esc退出編輯狀態,進入命令狀態,命令狀態輸入 :/xxx,輸入完按回車根據關鍵字xxx搜索,按n下一個 命令狀態按:u撤銷 ,命令狀態輸入:wq保存並退出按 :q退出,按q!強制退出不保存
#添加Port 1000 添加Port 22[默認會有,先不要去掉,等所有修改就緒,沒有問題的時候再去掉],執行ssh_port端口添加
semanage port -l | grep ssh #查看目前ssh可用端口
semanage port -a -t ssh_port_t -p tcp 1000 #添加1000端口到ssh可用端口列表
systemctl restart sshd.service #重啟ssh服務,為安全起見,請勿關閉當前命令窗口,打開一個新終端去連接服務器,端口寫1000,用戶名寫新加的newuser,選中私鑰 如果可以進去系統說明配置成功了,緊接着禁用root登錄和密碼登錄
vim /etc/ssh/sshd_config #修改下邊兩個配置
PermitRootLogin no
PasswordAuthentication no
systemctl restart sshd.service #重啟服務
打開阿里雲,點擊安全組,添加需要開啟的端口
2,服務相關,作為.net程序員於centos的交集大多數是發佈一些網站,網站發佈完以後常用的一些操作可能還會包括查看服務日誌,狀態等。
安裝.net core環境 參考 docs for dotnet install
#1,創建第一個服務,centos中所有與配置相關的東西幾乎都在/etc/目錄下,服務相關的配置也在這裡 首先創建一個服務啟動的配置文件
vim /etc/systemd/system/你的服務.service
# 如下就是一個示例的dotnet的服務配置, 其中User 填寫新加的用戶newuser,workingdirectory寫發佈到centos中的程序目錄,
[Unit]
Description=Example .NET Web API App running on Ubuntu
[Service]
WorkingDirectory=/var/www/helloapp
ExecStart=/usr/bin/dotnet /var/www/helloapp/helloapp.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=newuser
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
#將上述內容複製到 你的服務.service中,修改關鍵配置,workingdir,ExecStart,以及Environment,將程序文件複製到workingdir指定的目錄中開啟服務
systemctl enable 你的服務.service #添加開機自動啟動
systemctl start 你的服務.service #啟動服務
systemctl stop 你的服務.service #啟動服務
systemctl restart 你的服務.service #重啟服務
systemctl status 你的服務.service #查看服務狀態
journalctl -fu 你的服務.service #查看服務日誌,在調試的時候會非常有用,可以實時看到相關服務的輸出
journalctl -u 你的服務.service #查看服務的所有日誌
journalctl -u >a #將所有日誌文件寫入到a文件中
Environment 開頭的配置就是環境相關的配置,這裡可以設置啟動urls,響應超時等… 參考 .net core服務主機配置