BigBrother的大数据之旅 Day 3 Linux(3)
1 安裝軟件
1.1 編譯安裝
1 編譯安裝步驟:
(1) ./config 生成依賴關系, ./configure --prefix=/usr/nginx-1.8(指定一個不存在的目錄)
(2) make 編譯,必須在makefile的目錄,實質是執行makefile,會生成一個objs目錄
(3) install 是判斷目錄是否存在,如果存在cp文件,不存在創建目錄,cp文件
2 使用編譯安裝nginx
(1) 解壓文件到新建的nginx目錄下:tar -zxvf nginx-1.10.3.tar.gz -C/usr/local/nginx/
(2) 使用yum安裝依賴 yum -y install gcc-c++ pcre-devel zlib-devel
(3) ./configure指定將來的安裝的目錄并生成依賴: ./configure --prefix=/usr/local/nginx-1.10.3(nginx-1.10.3這個目錄是不存在的)
(4) 編譯和安裝 make && make install
3 測試nginx
(1) 在nginx-1.10.3/sbin 下運行 nginx: ./nginx 啟動
(2) 通過linux本機測試nginx進程和程序: ps -aux 查看進程, curl http://localhost 查看效果頁面
(3) 使用遠程主機對nginx進行訪問,發現無法訪問,
辦法一: 關閉iptables服務,service iptables stop(不推薦使用)
辦法二: vim/etc/sysconfig/iptables添加放行規則nginx默認端口號為80,如果想修改端口號,記得也要放行相對應的端口
?-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT (添加這一行,不要添加到confirm下面,就這22端口下面添加此行就行)
然后重啟服務就行,service iptables restart,可以通過service iptables status 查看狀態
如果還是不行 可以把selinux關閉,setenforce 0
**tips:**停止所有的nginx進程: killall nginx
4 使用 官網提供的yum 進行安裝
官網地址:http://nginx.org/en/linux_packages.html
(1)創建/etc/yum.repos.d/nginx.repo
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key(2) 清理并重新生成緩存
yum clean all
yum makecache
(3)安裝nginx(這種安裝方法,依托于rpm無法指定安裝目錄,所有安裝的目錄可能分布在linux系統的各個位置)
yum -y install nginx
tips:使用該中方式安裝后,會把nginx加入到service服務中(/etc/init.d目錄中)直接使用service nginx start/stop就可以開啟或者關閉nginx服務,很方便,編譯安裝的那種方式不行.
5 python的安裝
Python的安裝和編譯安裝nginx一樣,只不過,它依賴的包比較多如下:
yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel xz-devel
1.2 rpm(redhat package manager)
1, rpm 中有編譯好的軟件,直接第三步copy就行,省掉前兩步
2, rpm不能指定安裝目錄(安裝后的目錄可能有多個,分布在各個地方,刪除文件和目錄時候會比較麻煩,不過可以使用rpm命令刪除,也還行)
3, 安裝完畢后,由rpm命令統一管理
4, 沒有解決依賴關系
rpm -ivh 軟件 : 安裝軟件包 v-verbose,顯示更多信息
rpm -ivvh 軟件: 更加詳細的安裝過程
rpm -U 軟件 : update更新軟件
rpm -e 軟件: 刪除軟件
rpm -qa | gerp jdk 查詢jdk是否安裝(只能查詢使用rpm安裝的,不能查詢編譯安裝)
rpm -qi 軟件的全名 : 查詢軟件的詳細信息
rpm -ql 軟件全名: 查詢軟件安裝后所有文件的路徑 與 rpm -qa | grep xx 聯合使用,首先用后者命令查詢出軟件全名,然后放到-ql的參數后面,可以查出路徑
tips: 如果軟件的目錄特別多,可以使用rpm -ql 軟件全名| more 來分頁查看
type ifconfig結果為 /sbin/ifconfig
rpm -qf /sbin/ifconfig 查詢該軟件(命令)的安裝包
1.3 yum 安裝
yum 基于rpm包管理,提供rpm倉庫
在linux鏡像中的有一個package和repodata的目錄,package中存放rpm安裝包,repodata中存放各個安裝包的關系,yum就是把關系和安裝包進行了管理,方便操作
1 yum和maven的對比
| 資源庫 | centos資源庫(默認) | Apache資源庫(默認) |
| 資源庫內容 | 主要是rpm包,文檔,repo關系 | 主要是jar包,API |
| 客戶端 | yum | mvn |
| 配置文件 | /etc/yum.repos.d/*.repo(linux下) | /conf/settings.xml(windows下) |
2 yum源更換過程為下:**
國內yum的資源庫: mirrors.163.com和mirrors.aliyun.com
a,把本地的repo文件進行備份/etc/yum.repos.d/*.repo
b,從鏡像站中下載repo文件放到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo此步驟之前需要安裝 wget, yum -y install wget
tips: 直接從163鏡像網站進行下載repo文件,然后通過ftp傳輸到當前目錄也可以
c,清除本地yum 關系緩存,并重新生成關系
yum clean all :清除原來的關系
yum makecache :重新生成關系
3 repo文件示例
[base] :資源庫ID必須唯一,不同文件中如果有同名的,在makecache時,會選擇最快的yum源
name=CentOS-KaTeX parse error: Expected 'EOF', got '#' at position 28: … Base : 資源庫的名字 #?baseurl=http://…releasever/os/$basearch/
? 圖示: 選擇最快的yum源
4 EPEL 配置
EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一個項目,提供額外的軟件包,適用于紅帽、CentOS和Scientific Linux
步驟也是上面的三步,把上面第b步改為:wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
這些步驟都可以在鏡像的網站上進行查看
5 本地yum源的搭建(如果可以聯網此項做備用)
兩個步驟:
a, 掛載 dvd
mount /dev/cdrom /mnt 一次性掛載
b,vim mylocal.repo,并寫入一下內容
[local] --標識符 最好不要和其他資源庫的標識符相同
name=centos-local --隨便起的名字
baseurl=file:///mnt/
gpgcheck=0 --1為監測0為不檢測
enabled=1此項為是否開啟,1為開啟0為不開啟
tips:記得重新刷新yum
6 yum命令的使用
yum erase 軟件 :刪除
yum upgrade 軟件:升級 不要使用update
yum install 軟件: 安裝
yum search 軟件全名 : 查詢軟件詳細信息
yum group list 把組類型和安裝的包展示出來
yum repolist 查看yum源情況
1.4 中文幫助文檔
如果感覺英文幫助文檔不太舒服可以設置為中文,共三步
1, 設置 LANG環境變量 為中文: LANG=zh_CN.UTF-8(如果是英文默認為en_US.UTF-8)
2, 添加epel的yum源(參考1.3中的第4部分)
3,yum -y install man-pages-zh-CN(如果不知道安裝這個包可以首先使用 yum search man-pages查看有什么包)
補充內容
三種軟件包(liunx下都是 綠色 軟件)
1,rpm
2,bin包:已經編譯好的,本身是一個可執行的文件,解決了依賴
3,源碼包: 沒有編譯,沒有依賴
總結
以上是生活随笔為你收集整理的BigBrother的大数据之旅 Day 3 Linux(3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ajax hacking with XS
- 下一篇: linux加密认证全面分析