linux啟用服務
A. linux服務開機自啟動三種方式,你覺得哪種最優雅
很多時候,我們需要將一些服務在Linux系統啟動時即自動運行,省得每次都要去手動啟動一遍,如Redis, MySQL, Nginx等。本文對CentOS與Ubuntu下開機自啟動的配置方法進行整理,供參考查閱。
rc.local是CentOS以前版本的方式,在CentOS7中仍然以兼容的形式存在,雖仍可用,但不推薦(推薦使用systemd service)。
1、編寫需要開機自啟動的腳本,並添加執行許可權
作為測試,上述腳本列印一個時間到/tmp/test.log文件中
2、在/etc/rc.d/rc.local配置文件中添加腳本運行命令(使用絕對路徑)
3、添加/etc/rc.d/rc.local文件的執行許可權
在centos7中,/etc/rc.d/rc.local沒有執行許可權,需要手動授權
以上三步,即可使/root/test_rclocal.sh >/dev/null 2>/dev/null 命令在伺服器系統啟動時自動運行。
1、編寫需要開機自啟動的測試腳本,並添加執行許可權
2、在/etc/rc.d/init.d/目錄下添加一個可執行腳本testchkconfig
上述testchkconfig腳本的頭部必須遵循一定的格式 # chkconfig: 2345 90 10, 其中2345指定服務在哪些執行等級中開啟或關閉,90表示啟動的優先順序(0-100,越大優先順序越低),10表示關閉的優先順序。執行等級包括
3、加入開機啟動服務列表
使用 chkconfig --list 可查看當前加入開機自啟動的服務列表,但如Note部分所述,該命令只顯示SysV服務,不包含原生的systemd服務,查看systemd服務可使用systemctl list-unit-files命令。
以上三步,即可使/root/test_chkconfig.sh >/dev/null 2>/dev/null 命令在伺服器系統啟動時自動運行。
chkconfig的其它命令參考
CentOS7的systemd服務腳本存放在:/usr/lib/systemd/system(系統級)/usr/lib/systemd/user(用戶級)下,以.service結尾。這里以nginx為例
1、在/usr/lib/systemd/system目錄下創建nginx.service文件
其中Service部分的Type包括如下幾種類型:
2、 開啟開機自啟動
以上兩步,就將nginx服務配置成了在操作系統啟動時自動啟動。
其它命令參考
從字面看是PID文件不可讀,查看/var/run/nginx.pid,該文件也確實不存在,查看nginx.conf配置文件,發現是pid /var/run/nginx.pid;這行配置被注釋掉了, 如果不指定pid文件位置,nginx默認會把pid文件保存在logs目錄中。所以出現systemd啟動服務時找不到pid文件而報錯,將nginx.conf中的pid配置注釋去掉,重啟nginx.service即可。
在Ubuntu18.04中,主要也是以systemd服務來實現開機自啟動,systemd默認讀取/etc/systemd/system/下的配置文件,該目錄下的一些文件會鏈接到/lib/systemd/system/下的文件。
因此可以在/etc/systemd/system/目錄下面創建一個自啟動服務配置,以內網穿透服務frp客戶端為例,如
各配置項與CentOS類似。然後將伺服器加到自啟動列表中並啟動服務
其它更多systemctl命令與CentOS類似。
也可以使用/lib/systemd/system/rc-local.service來執行一些開機需要執行的腳本,該文件內容為
從Description看它是為了兼容之前版本的/etc/rc.local的,該服務啟動命名就是/etc/rc.local start,將該文件鏈接到/etc/systemd/system下
創建/etc/rc.local文件,並賦予可執行許可權
作者:半路雨歌
鏈接:https://juejin.cn/post/6844904104515338248
B. LINUX下如何開啟ftp伺服器
1. 首先伺服器要安裝ftp軟體,查看是否已經安裝ftp軟體下:
#which vsftpd
如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體
2. 查看ftp 伺服器狀態
#service vsftpd status
3. 啟動ftp伺服器
#service vsftpd start
4. 重啟ftp伺服器
#service vsftpd restart
5. 查看服務有沒有啟動
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,證明ftp服務已經開啟。
6.如果需要開啟root用戶的ftp許可權要修改以下兩個文件
#vi /etc/vsftpd.ftpusers中注釋掉root
#vi /etc/vsftpd.user_list中也注釋掉root
然後重新啟動ftp服務。
7. vsftpd 500 OOPS: cannot change directory
登陸報錯:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解決方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!
這是SELinux的設和培置命令,在不熟悉SELnux前,把SELinux關掉悄棚寬也可以的。
8. 永久開啟,即os重啟後自動開啟ftp服務
方法一:
cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp的設啟亮置:
vi /etc/xinetd.d/gssftp ,將 修改兩項內容:
(a) server_args = -l –a 去掉-a 改為server_args = -l
(b) disable=yes改為disable=no
(c) 保存退出。
方法二:
(a) system-config-services , 進入圖形界面的System services查看是否有 vsftpd項,如果沒有轉到2.,保存後退出
(b) 用redhat第三張盤 安裝此服務(開始--刪除/增加程序),200K左右
(c) #setup
此時能看到vsftpd項,此時選中此services項,保存後退出.
C. 怎麼開啟linux伺服器的sftp服務
可以按照如下方式進行設置:
1、創建sftp組,groupaddsftp,創建完成之後使用cat /etc/group命令組的信息。
拓展資料
1、sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的網路的加密方法。sftp 與 ftp 有著幾乎一樣的語法和功能。SFTP 為 SSH的其中一部分,是一種傳輸檔案至 Blogger 伺服器的安全方式。
2、其實在SSH軟體包中,已經包含了一個叫作SFTP(Secure File Transfer Protocol)的安全文件信息傳輸子系統,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(埠號默認是22)來完成相應的連接和答復操作,所以從某種意義上來說,SFTP並不像一個伺服器程序,而更像是一個客戶端程序。
D. linux重啟網路服務
1、使用service腳本來調度網路服務,如:搜棚
啟動service network start
關閉世汪則service network stop
重啟service network restart
2、直接執行網路服務的管理腳本,如:
啟動/etc/init.d/network start
關閉/etc/init.d/network stop
重啟/etc/init.d/陵信network restart
擴展:
1、linux顯示所有服務的運行狀態命令service --status-all
chkconfig --list
E. ubuntu linux 下如何啟動ftp服務
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。