day1 在Linux上發(fā)布企業(yè)級APP

領(lǐng)導(dǎo)想讓我把一個APP發(fā)布到公司內(nèi)部服務(wù)器上,而且能提供下載,證書已經(jīng)有了,打包已經(jīng)打好了,就差放到服務(wù)器上了, 對于一個做前端的人,做服務(wù)器方面的事兒,還是很頭疼的,所以拼命找資料文獻.


開始的思路

1:先在服務(wù)器上搭一個文件傳輸?shù)姆?wù),好以后存放方便

2:搭一個文件下載服務(wù).


開始了,準(zhǔn)備安裝sftp.

在Centos 6.6環(huán)境使用系統(tǒng)自帶的internal-sftp搭建SFTP服務(wù)器。

打開命令終端窗口,按以下步驟操作。

0、查看openssh的版本

[plain]view plaincopy

ssh?-V

使用ssh -V 命令來查看openssh的版本,版本必須大于4.8p1,低于的這個版本需要升級。

1、創(chuàng)建sftp組

[plain]view plaincopy

groupadd?sftp

2、創(chuàng)建一個sftp用戶,用戶名為mysftp,密碼為mysftp

修改用戶密碼和修改Linux用戶密碼是一樣的。

useradd -g sftp -s /bin/falsemysftp? //用戶名

passwdmysftp? //密碼

[plain]view plaincopy

useradd?-g?sftp?-s?/bin/false?mysftp

passwd?mysftp

3、sftp組的用戶的home目錄統(tǒng)一指定到/data/sftp下,按用戶名區(qū)分,這里先新建一個mysftp目錄,然后指定mysftp的home為/data/sftp/mysftp

[plain]view plaincopy

mkdir?-p?/data/sftp/mysftp

usermod?-d?/data/sftp/mysftp?mysftp

4、配置sshd_config

文本編輯器打開 /etc/ssh/sshd_config

vi /etc/ssh/sshd_config

找到如下這行,用#符號注釋掉,大致在文件末尾處。

# Subsystem ? ? ?sftp ? ?/usr/libexec/openssh/sftp-server

在文件最后面添加如下幾行內(nèi)容,然后保存。

[plain]view plaincopy

Subsystem???????sftp????internal-sftp

Match?Group?sftp

ChrootDirectory?/data/sftp/%u

ForceCommand????internal-sftp

AllowTcpForwarding?no

X11Forwarding?no

5、設(shè)定Chroot目錄權(quán)限

[plain]view plaincopy

chown?root:sftp?/data/sftp/mysftp

chmod?755?/data/sftp/mysftp

6、建立SFTP用戶登入后可寫入的目錄

照上面設(shè)置后,在重啟sshd服務(wù)后,用戶mysftp已經(jīng)可以登錄。但使用chroot指定根目錄后,根應(yīng)該是無法寫入的,所以要新建一個目錄供mysftp上傳文件。這個目錄所有者為mysftp,所有組為sftp,所有者有寫入權(quán)限,而所有組無寫入權(quán)限。命令如下:

[plain]view plaincopy

mkdir?/data/sftp/mysftp/upload

chown?mysftp:sftp?/data/sftp/mysftp/upload

chmod?755?/data/sftp/mysftp/upload

7、修改/etc/selinux/config

文本編輯器打開/etc/selinux/config

[plain]view plaincopy

vi?/etc/selinux/config

將文件中的SELINUX=enforcing 修改為 SELINUX=disabled ,然后保存。

在輸入命令

[plain]view plaincopy

setenforce?0

8、重啟sshd服務(wù)

輸入命令重啟服務(wù)。

[plain]view plaincopy

service?sshd?restart

9、驗證sftp環(huán)境

用mysftp用戶名登錄,yes確定,回車輸入密碼。

[plain]view plaincopy

sftp?mysftp@127.0.0.1

顯示 sftp> 則sftp搭建成功。

10、使用FileZilla FTP Client連接SFTP服務(wù)器

輸入主機IP地址、用戶名、密碼、端口連接SFTP服務(wù)器,端口默認為22。


里面有用到終端文本編輯器的操作,也是X度了一波,貼上

高級一些的編輯器,都會包含宏功能,vim當(dāng)然不能缺少了,在vim中使用宏是非常方便的:

:qx 開始記錄宏,并將結(jié)果存入寄存器x

q 退出記錄模式

@x 播放記錄在x寄存器中的宏命令

稍微解釋一下,當(dāng)在normal模式下輸入:qx后,你對文本的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模

式,然后輸入@x對剛才記錄下來的命令進行重復(fù),此命令后可跟數(shù)字,表示要重復(fù)多少次,比如@x20,可以重復(fù)20次。這個在文本的批處理中是非常有用的。

同時編輯多個文件

在vim眾多的插件中,有一個叫minibuffer的插件,就是下面所說的標(biāo)簽頁功能了,可以支持同時編輯多個文件。

標(biāo)簽命令

:tabe fn 在一個新的標(biāo)簽頁中編輯文件fn

gt 切換到下一個標(biāo)簽頁

gT 切換到上一個標(biāo)簽頁

:tabr 切換到第一個標(biāo)簽頁

:tabl 切換到最后一個標(biāo)簽頁

:tabm [N] 把當(dāng)前tab移動到第N個tab之后

對,正如你所想象的那樣,跟eclipse, ue等的標(biāo)簽頁是一個意思!

窗口命令

ctrl+w s 水平分割窗口

ctrl+w w 切換窗口

ctrl+w q 退出當(dāng)前窗口(由于同時有多個文件,此命令不會影響其他窗口)

ctrl+w v 垂直分割窗口

其他

vim在保存之前不會對文件做實際的修改,只是加載到緩沖區(qū)中,對文件的編輯其實是對緩沖區(qū)的編輯,直到:w時才會存入物理文件。

:e file 把file加載到新的緩沖區(qū)中

:bn 跳轉(zhuǎn)到下一個緩沖區(qū)

:bd 刪除緩沖區(qū)(關(guān)閉文件)

:sp fn 分割窗口,并將fn加載到新的窗口中

退出編輯器

:w 將緩沖區(qū)寫入文件,即保存修改

:wq 保存修改并退出

:x 保存修改并退出

:q 退出,如果對緩沖區(qū)進行過修改,則會提示

:q! 強制退出,放棄修改

查找替換

/pattern 向后搜索字符串pattern

?pattern 向前搜索字符串pattern

n 下一個匹配(如果是/搜索,則是向下的下一個,?搜索則是向上的下一個)

N 上一個匹配(同上)

:%s/old/new/g 搜索整個文件,將所有的old替換為new

:%s/old/new/gc 搜索整個文件,將所有的old替換為new,每次都要你確認是否替換

復(fù)制粘貼

dd 刪除光標(biāo)所在行

dw 刪除一個字(word)

x 刪除當(dāng)前字符

X 刪除前一個字符

D 刪除到行末

yy 復(fù)制一行,此命令前可跟數(shù)字,標(biāo)識復(fù)制多行,如6yy,表示從當(dāng)前行開始復(fù)制6行

yw 復(fù)制一個字

y$ 復(fù)制到行末

p 粘貼粘貼板的內(nèi)容到當(dāng)前行的下面

P 粘貼粘貼板的內(nèi)容到當(dāng)前行的上面

]p 有縮進的粘貼,vim會自動調(diào)節(jié)代碼的縮進

"a 將內(nèi)容放入/存入a寄存器,可以支持多粘貼板

附:比如常用的一個寄存器就是系統(tǒng)寄存器,名稱為+,所以從系統(tǒng)粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個寄存器。

移動光標(biāo)

在vim中移動光標(biāo)跟其他的編輯器中有很大的區(qū)別,不過一旦學(xué)會了,就會飛速的在文本中移動了。

h,j,k,l 上,下,左,右

ctrl-f 上翻一頁

ctrl-b 下翻一頁

% 跳到與當(dāng)前括號匹配的括號處,如當(dāng)前在{,則跳轉(zhuǎn)到與之匹配的}處

w 跳到下一個字首,按標(biāo)點或單詞分割

W 跳到下一個字首,長跳,如end-of-line被認為是一個字

e 跳到下一個字尾

E 跳到下一個字尾,長跳

b 跳到上一個字

B 跳到上一個字,長跳

0 跳至行首,不管有無縮進,就是跳到第0個字符

^ 跳至行首的第一個字符

$ 跳至行尾

gg 跳至文件的第一行

gd 跳至當(dāng)前光標(biāo)所在的變量的聲明處

[N]G 跳到第N行,如0G,就等價于gg,100G就是第100行

fx 在當(dāng)前行中找x字符,找到了就跳轉(zhuǎn)至

; 重復(fù)上一個f命令,而不用重復(fù)的輸入fx

tx 與fx類似,但是只是跳轉(zhuǎn)到x的前一個字符處

Fx 跟fx的方向相反

),( 跳轉(zhuǎn)到上/下一個語句

* 查找光標(biāo)所在處的單詞,向下查找

# 查找光標(biāo)所在處的單詞,向上查找

`. 跳轉(zhuǎn)至上次編輯位置

在屏幕上移動

H 移動光標(biāo)到當(dāng)前屏幕上最上邊的一行

M 移動光標(biāo)到當(dāng)前屏幕上中間的一行

L 移動光標(biāo)到當(dāng)前屏幕上最下邊的一行

書簽

ma 把當(dāng)前位置存成標(biāo)簽a

`a 跳轉(zhuǎn)到標(biāo)簽a處

編輯

r 替換一個字符

J 將下一行和當(dāng)前行連接為一行

cc 刪除當(dāng)前行并進入編輯模式

cw 刪除當(dāng)前字,并進入編輯模式

c$ 擦除從當(dāng)前位置至行末的內(nèi)容,并進入編輯模式

s 刪除當(dāng)前字符并進入編輯模式

S 刪除光標(biāo)所在行并進入編輯模式

xp 交換當(dāng)前字符和下一個字符

u 撤銷

ctrl+r 重做

. 重復(fù)上一個編輯命令

~ 切換大小寫,當(dāng)前字符

g~iw 切換當(dāng)前字的大小寫

gUiw 將當(dāng)前字變成大寫

guiw 將當(dāng)前字變成小寫

>> 將當(dāng)前行右移一個單位

<< 將當(dāng)前行左移一個單位(一個tab符)

== 自動縮進當(dāng)前行

插入模式

i 從當(dāng)前光標(biāo)處進入插入模式

I 進入插入模式,并置光標(biāo)于行首

a 追加模式,置光標(biāo)于當(dāng)前光標(biāo)之后

A 追加模式,置光標(biāo)于行末

o 在當(dāng)前行之下新加一行,并進入插入模式

O 在當(dāng)前行之上新加一行,并進入插入模式

Esc 退出插入模式

可視模式

標(biāo)記文本

v 進入可視模式,單字符模式

V 進入可視模式,行模式

ctrl+v 進入可視模式,列模式,類似于UE的列模式

o 跳轉(zhuǎn)光標(biāo)到選中塊的另一個端點

U 將選中塊中的內(nèi)容轉(zhuǎn)成大寫

O 跳轉(zhuǎn)光標(biāo)到塊的另一個端點

aw 選中一個字

ab 選中括號中的所有內(nèi)容,包括括號本身

aB 選中{}括號中的所有內(nèi)容

ib 選中括號中的內(nèi)容,不含括號

iB 選中{}中的內(nèi)容,不含{}

對標(biāo)記進行動作

> 塊右移

< 塊左移

y 復(fù)制塊

d 刪除塊

~ 切換塊中內(nèi)容的大小寫


在使用FileZilla的時候,發(fā)現(xiàn)Mac的目錄看不懂,又X度一波

unix傳統(tǒng)的目錄

/bin 傳統(tǒng)unix命令的存放目錄,如ls,rm,mv等。

/sbin 傳統(tǒng)unix管理類命令存放目錄,如fdisk,ifconfig等等。

/usr 第三方程序安裝目錄。

/usr/bin, /usr/sbin, /usr/lib,其中/usr/lib目錄中存放了共享庫(動態(tài)鏈接庫).

/etc. 標(biāo)準(zhǔn)unix系統(tǒng)配置文件存放目錄,如用戶密碼文件/etc/passwd。此目錄實際為指向/private/etc的鏈接。

/dev 設(shè)備文件存放目錄,如何代表硬盤的/dev/disk0。

/tmp 臨時文件存放目錄,其權(quán)限為所有人任意讀寫。此目錄實際為指向/private/tmp的鏈接。

/var 存放經(jīng)常變化的文件,如日志文件。此目錄實際為指向/private/var的鏈接。

這些標(biāo)準(zhǔn)的Unix目錄在Finder中并不可見,如下圖所示:

OS?X特有的目錄

OS X系統(tǒng)中,除了標(biāo)準(zhǔn)的unix目錄外,還增加了特有的目錄。

/Applications 應(yīng)用程序目錄,默認所有的GUI應(yīng)用程序都安裝在這里;

/Library 系統(tǒng)的數(shù)據(jù)文件、幫助文件、文檔等等;

/Network 網(wǎng)絡(luò)節(jié)點存放目錄;

/System 他只包含一個名為Library的目錄,這個子目錄中存放了系統(tǒng)的絕大部分組件,如各種framework,以及內(nèi)核模塊,字體文件等等。

/Users 存放用戶的個人資料和配置。每個用戶有自己的單獨目錄。

/Volumes 文件系統(tǒng)掛載點存放目錄。

/cores 內(nèi)核轉(zhuǎn)儲文件存放目錄。當(dāng)一個進程崩潰時,如果系統(tǒng)允許則會產(chǎn)生轉(zhuǎn)儲文件。

/private 里面的子目錄存放了/tmp, /var, /etc等鏈接目錄的目標(biāo)目錄。



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容