Linux-服務(wù)+網(wǎng)絡(luò)端口號

1劫狠、Linux-服務(wù)+網(wǎng)絡(luò)端口號

服務(wù):一般在后臺運(yùn)行

centos6有7種運(yùn)行級別盾计,系統(tǒng)啟動時(shí)會按照配置的一個(gè)運(yùn)行級別啟動链患,然后使用init.d再根據(jù)此運(yùn)行級別去判斷服務(wù)是否在此級別中啟動派敷。到centos7時(shí)只保留了3和5

1.1 在centos6中如何管理服務(wù)(centos7也兼容6的服務(wù)管理命令)

1-? chkconfig? --list? ? :查看服務(wù)運(yùn)行級別

2-? service? firewalld? status? 查詢服務(wù)的狀態(tài)

3-? service firewalld start? 啟動服務(wù)

4- service? firewalld? stop? 停止服務(wù)

防火墻所刀,端口號一般都被防火墻過濾掉嫡霞,只暴露22端口號

5-? ll? /etc/init.d/? 查看init進(jìn)程管理的服務(wù)文件夾

6-? chkconfig --level 2 network off? 設(shè)置指定的服務(wù)在指定運(yùn)行級別關(guān)閉

7- chkconfig --level 2 network on? ? 設(shè)置指定服務(wù)在指定運(yùn)行級別啟動

1.2 在centos7中管理服務(wù)(centos7天字第一號進(jìn)程是systemd瓶埋,只有3和5兩個(gè)運(yùn)行級別)

1- systemctl list-unit-files? 查看所有的服務(wù)列表

ctrl+c 退出列表

查詢指定的服務(wù):systemctl? list-unit-files |grep firewalld

2- systemctl status 服務(wù)名 :查看服務(wù)器的狀態(tài)

3- systemctl start 服務(wù)名? :啟動指定服務(wù)

4- systemctl? stop 服務(wù)名:停止服務(wù)

5- systemctl? diable 服務(wù)名:設(shè)置服務(wù)開機(jī)禁止啟動

6- systemctl enable 服務(wù)名: 設(shè)置服務(wù)開機(jī)自啟

7-? systemctl get-default : 查看當(dāng)前系統(tǒng)的運(yùn)行級別

8- systemctl set-default? multi-user.target/graphical.target: 設(shè)置系統(tǒng)的運(yùn)行級別

1.3? 網(wǎng)絡(luò)端口號查詢

netstat? -anp | grep? 端口號

將springboot項(xiàng)目上傳到虛擬機(jī)的/opt目錄下

java -jar xxxx.jar?

主機(jī)瀏覽器訪問:http://虛擬機(jī)ip地址:8080/hello

如果虛擬機(jī)控制臺沒有報(bào)錯,虛擬機(jī)防火墻將請求攔截了

netstat -anp|grep 8080

kill -9 1490 :殺死占用端口號的進(jìn)程

2、Linux-用戶權(quán)限命令(了解)

id? 用戶名: 查看用戶

useradd? 用戶名:新增用戶

通過useradd的方式添加的用戶都是普通用戶养筒,所有的用戶的家目錄都會創(chuàng)建在/home目錄下

passwd? 用戶名:設(shè)置密碼

whoami: 查看當(dāng)前正在使用系統(tǒng)的用戶

who am i :查看登錄的用戶

su 用戶名:? 切換用戶

從超級管理員切換到普通用戶不用輸入密碼

從普通用戶到root需要輸入密碼

userdel -r? 用戶名:刪除用戶和他的/home目錄下的家目錄文件

groupadd? 組名: 創(chuàng)建用戶組

usermod -g? 組名? 用戶名: 將用戶添加到組中

useradd -g 組名? 新用戶名:新創(chuàng)建用戶并分配到組中

groupdel 組名:刪除組

groupmod -n 新組名 舊組名:修改組名

/etc/passwd :存儲用戶的信息

/etc/shadow:存儲用戶的影子信息[密碼]

/etc/group :組

權(quán)限:


列表中的第一列代表文件類型權(quán)限

代表權(quán)限的第一列除了.曾撤,剩下10位

第一位:代表文件類型? d代表文件夾,-代表文件, l代表鏈接

第2~4位: u 代表文件擁有者的權(quán)限

rwx:? ? 如果使用-代表其中一個(gè)晕粪,就表示沒有這個(gè)權(quán)限(r-x? 可讀可執(zhí)行? 不能寫)

r:read? 讀權(quán)限? 挤悉, w:write寫權(quán)限 , x:excute執(zhí)行權(quán)限

第5~7位: g 代表文件擁有者所在組的成員擁有的權(quán)限

第8~10位:o 代表和文件擁有者不再同一個(gè)組的其他成員的權(quán)限

修改文件夾的權(quán)限:

第一種(不推薦):直接使用? rwx表示權(quán)限進(jìn)行設(shè)置

chmod? g=rx? laohan? :添加權(quán)限

chmod g-rx? laohan:刪除laohan文件夾的組的權(quán)限

第二種(推薦):將權(quán)限使用數(shù)字描述

r=4? w=2? x=1

chmod 750? laohan : 第一組權(quán)限全部設(shè)置巫湘,第二組權(quán)限設(shè)置rx装悲,第三組沒有權(quán)限

第三列代表文件的擁有者

第四列代表文件擁有者所在的組

chgrp? 組名? 文件夾名:修改文件夾所在組

chown -R? 用戶名? 文件夾名:遞歸修改文件夾和他內(nèi)部所有文件的擁有者

3、Linux-安裝卸載命令

3.1 本地安裝

rpm? -qa |grep? -i? firewalld? :查詢已安裝的程序尚氛,并忽略大小寫篩選結(jié)果

rpm -e? 安裝包名:? 卸載已安裝的程序

rpm -ivh? 安裝包名: 安裝程序

安裝操作系統(tǒng)時(shí)诀诊,系統(tǒng)壓縮包自帶了非常多的應(yīng)用,可以在光驅(qū)加載的ISO鏡像中找到火狐瀏覽器的安裝包(/run/media/root/CentOS 7 x86_64/Packages)

cd? /run/media/root/CentOS 7 x86_64/Packages

?

rpm -ivh firefox-52.2.0-2.el7.centos.x86_64.rpm

3.2 遠(yuǎn)程聯(lián)網(wǎng)安裝

centos提供了中央軟件庫阅嘶,可以通過yum命令遠(yuǎn)程連接下載程序自動安裝

yum? list |grep? -i? firefox:? 聯(lián)網(wǎng)搜索指定的程序安裝包

yum? install? firefox.x86_64? : 安裝指定的程序

4属瓣、Linux-開發(fā)環(huán)境搭建

4.1 jdk

1、拷貝課件中的已經(jīng)下載好的jdk到虛擬機(jī)的/opt目錄下

2奈懒、切換到opt目錄下奠涌,解壓縮壓縮包

tar -zxvf? 壓縮包名 :解壓縮所有的壓縮包

jdk解壓可用,無需安裝磷杏,但是jdk的命令在bin目錄下[/opt/jdk1.8.0_152/bin]

在控制臺執(zhí)行jdk的命令時(shí)溜畅,系統(tǒng)默認(rèn)從path環(huán)境變量中查找對應(yīng)的命令,我們自己解壓的jdk沒有配置到環(huán)境變量中极祸,所以不能使用


3慈格、將自己解壓的jdk的bin目錄配置到linux系統(tǒng)的環(huán)境變量中

vim /etc/profile

在文件最后:shift+g

JAVA_HOME=/opt/jdk1.8.0_152

PATH=/opt/jdk1.8.0_152/bin:$PATH

exportJAVA_HOME PATH

source /etc/profile:重新加載環(huán)境變量

====? 啟動tomcat時(shí)

4.2 mysql

1、檢查是否存在已安裝的mysql

[root@atguigu bin]# rpm -qa|grep -i maria

mariadb-libs-5.5.56-2.el7.x86_64

2遥金、卸載已安裝的mysql[mysql安裝時(shí)會安裝其他的多個(gè)依賴]

rpm -e --nodeps mariadb-libs

3浴捆、檢查mysql以后要使用的文件夾的權(quán)限[/tmp]

chmod 777 /tmp

4、安裝mysql

cd /opt/MySQL/

rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm

rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm

5稿械、檢查是否安裝成功

rpm -qa|grep -i mysql

6选泻、使用mysql客戶端連接mysql服務(wù)端

? 如果報(bào)以下錯誤,表示mysql服務(wù)沒有啟動

systemctl start mysql

ps -aux|grep -i mysql

//連接mysql美莫,初始化安裝mysql沒有密碼

mysql -hlocalhost -P3306 -uroot -p

7页眯、修改mysql編碼

//連接mysql后,查看mysql的字符編碼

show variables like '%char%'厢呵;

//mysql默認(rèn)編碼為latin1窝撵,需要修改為UTF-8

//mysql安裝后,配置文件保存在 /usr/share/mysql/my-huge.cnf

linuxmysql啟動時(shí)襟铭,優(yōu)先在/etc下查找my.cnf配置文件作為mysql的配置碌奉,如果/etc下沒有此文件短曾,mysql再到/usr/share/mysql/my-huge.cnf.

//將my-huge配置文件拷貝到/etc下一份,并改名為my.cnf

cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

//修改/etc/my.cnf赐劣,設(shè)置mysql的編碼格式為utf-8

在17行[client]下添加

default-character-set=utf8

在26行[mysqld]下添加

character_set_server=utf8

character_set_client=utf8

collation-server=utf8_general_ci

在138行[mysql]添加

default-character-set=utf8

保存退出

重啟mysql服務(wù)加載修改后的配置文件

service? mysql restart

mysql -uroot -p


8嫉拐、修改mysql密碼

mysql5.5 密碼存在mysql 庫中的user表中

mysql保存用戶信息時(shí)存在mysql.user表中

host代表ip地址,user代表賬號魁兼,password代表密碼椭岩,xxx_priv 代表權(quán)限

訪問mysql時(shí),mysql識別用戶是通過 登錄賬號+登錄時(shí)的ip地址組合判斷賬號

root@localhost

刪除localhost? root以外的其他用戶: delete語句+條件刪除

修改用戶密碼:

select host ,user,password , select_priv? from mysql.user;

update mysql.user set password = password('123123');

或者 set password=password('123456');

?

修改后需要重啟mysql服務(wù): service mysql restart

9璃赡、遠(yuǎn)程連接mysql[主機(jī)使用sqlyog去連接虛擬機(jī)中的mysql]

原因: mysql? user表中,只有l(wèi)ocalhost地址才可以使用root用戶連接mysql服務(wù)

修改user表中的root@localhost用戶献雅,將host修改為%(通配符碉考,統(tǒng)配所用)

重啟mysql,再次使用sqlyog遠(yuǎn)程連接

10挺身、安裝web測試工具? ab

使用yum安裝: yum install -y? httpd-tools

使用:

ab --help

ab -n8000 -c800? http://192.168.1.130:8080/hello

5侯谁、Nosql數(shù)據(jù)庫簡介

6、redis簡介

redis之前的版本只支持linux

只有l(wèi)inux才能最優(yōu)化的使用redis

7章钾、redis安裝+啟動停止

7.1 將redis安裝包拷貝到 虛擬機(jī)的/opt目錄下

7.2 解壓縮redis的壓縮包:tar -zxvf redis.tar.gz


7.3 查看redis的文件夾發(fā)現(xiàn)解壓之后的src是redis的源碼墙贱,需要先編譯才能安裝

redis是使用c語言開發(fā)的,需要使用c語言的編譯命令

在redis目錄下執(zhí)行:make命令時(shí)贱傀,報(bào)錯惨撇,原因:系統(tǒng)中沒有安裝c語言的環(huán)境

1、安裝c語言和c++的語言環(huán)境

yum install -y gcc

yum install -y gcc-c++

gcc -v

g++ -v

2府寒、刪除上次make產(chǎn)生的錯誤文件

make distclean

3魁衙、再執(zhí)行make進(jìn)行編譯

4、再執(zhí)行安裝命令: make install

5株搔、如果執(zhí)行? redis-server? 能夠看到redis的啟動界面剖淀,就代表redis安裝成功

ctrl+c? 可以關(guān)閉redis-server

redis安裝之后,命令存放在usr/local/bin下纤房,命令可以在任意的地方執(zhí)行

redis-server? :redis服務(wù)端啟動命令

redis-cli? :redis客戶端啟動的命令

8纵隔、修改redis為后臺啟動

redis默認(rèn)前臺啟動(阻塞啟動)

8.1 在/下創(chuàng)建存放redis配置文件的文件夾

mkdir? /myredis

8.2 拷貝redis的配置文件到/myredis目錄下

? ? ? cp /opt/redis-4.0.0/redis.conf /myredis/

8.3 編輯 /myredis/redis.conf? 設(shè)置后臺啟動

vim? /myredis/redis.conf

136行設(shè)置daemonize? 改為yes

保存退出

8.4 指定配置文件啟動redis服務(wù)

redis-server /myredis/redis.conf

服務(wù)端默認(rèn)端口號:6379

8.5 redis客戶端連接redis?

redis-cli? 默認(rèn)連接本機(jī)的6379端口號的redis服務(wù)端

ctrl+c退出redis-cli連接

redis-cli -h 127.0.0.1 -p 6379 :連接指定ip指定端口的redis服務(wù)


8.6 關(guān)閉redis服務(wù)

在redis-cli的連接中,ctrl+c只會關(guān)閉redis客戶端

方式1: 在linux命令中執(zhí)行? redis-cli? -h 127.0.0.1 -p 6379 shutdown

方式2:如果在redis-cli的連接中? shutdown

方式3: 可以通過redis進(jìn)程id殺死進(jìn)程? kill? 進(jìn)程id

8.7 redis簡單使用+特點(diǎn)

redis默認(rèn)有16個(gè)庫炮姨。一般使用默認(rèn)的索引為0的庫:select 0

dbsize? :查看redis存儲數(shù)據(jù)的條數(shù)

flushdb? : 清空當(dāng)前庫(慎用)

flushall:? 清空redis所有的庫

內(nèi)存數(shù)據(jù)庫存儲數(shù)據(jù)都是在內(nèi)存中操作捌刮,內(nèi)存操作速度非常快剑令,每個(gè)命令執(zhí)行時(shí)的時(shí)間短

Redis是單線程+多路IO復(fù)用技術(shù)

Memcached 是串行+多線程的方式

redis和Memcached三點(diǎn)不同: 支持多數(shù)據(jù)類型糊啡,支持持久化,單線程+多路IO復(fù)用

9吁津、redis-key操作

1棚蓄、查看所有的鍵:keys *

2堕扶、判斷某個(gè)鍵是否存在: exists? key?

返回1代表存在,0代表不存在

3梭依、查看鍵對應(yīng)值的類型: type? key

4稍算、刪除指定的鍵(鍵在值在,鍵光值亡): del key

5役拴、給鍵設(shè)置過期時(shí)間:? expire key? seconds

6糊探、查看鍵的過期時(shí)間:? ttl? key

返回>=0的數(shù)字,代表剩余數(shù)字對應(yīng)的秒數(shù)

返回-2 河闰,代表鍵已過期被刪除

返回-1 科平,代表鍵永不過期

10、redis-五大數(shù)據(jù)類型-string

redis最常使用的數(shù)據(jù)類型就是string類型: java對象可以轉(zhuǎn)為字符串姜性,圖片也可以轉(zhuǎn)為圖片

redis中string類型的大小最大可以為512m,redis的字符串二進(jìn)制安全

1瞪慧、向redis中存入string鍵值對:set? k? v

如果鍵相同,后設(shè)置的值會覆蓋之前的

2部念、獲取redis中指定鍵的值:? get? k

3弃酌、給redis中指定鍵的值追加內(nèi)容: append? k? ? appendStr


4、獲取鍵的值的長度:? strlen? key

5儡炼、當(dāng)鍵不存在時(shí)才設(shè)置鍵值對:? setnx? k? ? v

分布式鎖

6妓湘、設(shè)置值自增1? :? incr? k? ?

如果k的值已存在,必須時(shí)整形才可以自增

如果k不存在乌询,默認(rèn)在0的基礎(chǔ)上+1

應(yīng)用場景: 計(jì)數(shù)器榜贴、密碼今天輸錯的次數(shù)、秒殺庫存自減

7楣责、設(shè)置值自減1 :? decr? k

8竣灌、自定義步長增減:? incrby? k? count , decrby? k? count

9、設(shè)置鍵值對同時(shí)設(shè)置過期時(shí)間: setex? key? secods? val

使用場景:? 保存手機(jī)驗(yàn)證碼

10秆麸、批量操作

1初嘹、批量存入多個(gè)鍵值對: mset k v k? v ....

2、批量獲取多個(gè)鍵的值: mget k1 k2 k3...

3沮趣、批量設(shè)置鍵值對當(dāng)鍵不存在時(shí):? msetnx k1 v1 k2 v2...

當(dāng)有一個(gè)鍵如果存在時(shí)屯烦,所有的數(shù)據(jù)都保存失敗

所有的鍵都不存在時(shí),才可以存儲成功

redis命令具有原子性房铭,命令執(zhí)行時(shí)驻龟,必須成功或者失敗

java中的i++是否是原子操作?

不是缸匪,執(zhí)行時(shí)翁狐,分為三步:先獲取i的變量的值,執(zhí)行i++操作凌蔬,將計(jì)算后的結(jié)果設(shè)置到內(nèi)存中

i=0;兩個(gè)線程分別對i進(jìn)行++100次,值是多少露懒?2~200

11闯冷、獲取值指定范圍內(nèi)的內(nèi)容:getrange? k? ? start? end

獲取時(shí),start和end索引都包含

end如果是-1? 代表獲取到最后

12懈词、替換字符串指定范圍的內(nèi)容:setrange? k? start? ? replacestr

13蛇耀、設(shè)置值并返回被替換的內(nèi)容:getset k? newVal?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市坎弯,隨后出現(xiàn)的幾起案子纺涤,更是在濱河造成了極大的恐慌,老刑警劉巖抠忘,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撩炊,死亡現(xiàn)場離奇詭異,居然都是意外死亡崎脉,警方通過查閱死者的電腦和手機(jī)衰抑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來荧嵌,“玉大人,你說我怎么就攤上這事砾淌±泊椋” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵汪厨,是天一觀的道長赃春。 經(jīng)常有香客問我,道長劫乱,這世上最難降的妖魔是什么织中? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮衷戈,結(jié)果婚禮上狭吼,老公的妹妹穿的比我還像新娘。我一直安慰自己殖妇,他們只是感情好刁笙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谦趣,像睡著了一般疲吸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上前鹅,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天摘悴,我揣著相機(jī)與錄音,去河邊找鬼舰绘。 笑死蹂喻,一個(gè)胖子當(dāng)著我的面吹牛葱椭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播叉橱,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼挫以,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了窃祝?” 一聲冷哼從身側(cè)響起掐松,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粪小,沒想到半個(gè)月后大磺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡探膊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年杠愧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逞壁。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡流济,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腌闯,到底是詐尸還是另有隱情绳瘟,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布姿骏,位于F島的核電站糖声,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏分瘦。R本人自食惡果不足惜蘸泻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嘲玫。 院中可真熱鬧悦施,春花似錦、人聲如沸去团。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渗勘。三九已至沐绒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旺坠,已是汗流浹背乔遮。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留取刃,地道東北人蹋肮。 一個(gè)月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓出刷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親坯辩。 傳聞我的和親對象是個(gè)殘疾皇子馁龟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354