編譯安裝&打包壓縮&定時任務
阿新 • • 發佈:2021-12-17
內容概要
- 編譯安裝
- 打包壓縮
- 定時任務
內容詳細
一、編譯安裝
1、特點
使用原始碼,編譯打包軟體。
1、可以自定製軟體
2、按需構建軟體啊
2、步驟
下載安裝包
wget 下載網址 如果沒有 wget : yum install wget [root@localhost ~]# wget https://nginx.org/download/nginx-1.20.2.tar.gz [root@localhost ~]# ll total 1044 -rw-------. 1 root root 1691 Dec 8 17:25 anaconda-ks.cfg -rw-r--r--. 1 root root 1062124 Nov 16 22:51 nginx-1.20.2.tar.gz
解壓安裝包
tar -xf <安裝包名>
[root@localhost ~]# tar -xf nginx-1.20.2.tar.gz
[root@localhost ~]# ll
total 1044
-rw-------. 1 root root 1691 Dec 8 17:25 anaconda-ks.cfg
drwxr-xr-x. 8 1001 1001 158 Nov 16 22:44 nginx-1.20.2
-rw-r--r--. 1 root root 1062124 Nov 16 22:51 nginx-1.20.2.tar.gz
修改引數
1、cd nginx-1.20.2 2、vim src/core/nginx.h # 修改NGINX_VER引數 3、.configure [root@localhost ~]# cd nginx-1.20.2 [root@localhost nginx-1.20.2]# ll total 792 drwxr-xr-x. 6 1001 1001 4096 Dec 17 16:13 auto drwxr-xr-x. 2 1001 1001 168 Dec 17 16:13 conf -rwxr-xr-x. 1 1001 1001 2590 Nov 16 22:44 configure drwxr-xr-x. 9 1001 1001 91 Dec 17 16:13 src [root@localhost nginx-1.20.2]# vim src/core/nginx.h [root@localhost nginx-1.20.2]# ./configure # 如果報錯 : ./configure: error: the HTTP rewrite module requires the PCRE library. 執行 : yum install pcre pcre-devel zlib zlib-devel -y
編譯
make
安裝
make install
啟動軟體並訪問虛擬機器網址測試
# 執行 nginx /usr/local/nginx/sbin/nginx # 如果啟動失敗 將可執行檔案路徑新增到PATH(方便啟動nginx) vim ~/.bashrc #在bashrc配置檔案末尾追加nginx守護程序的路徑 export PATH=$PATH:/usr/local/nginx/sbin #儲存退出後使配置檔案生效 source ~/.bashrc # 還是啟動失敗 1、 [root@server /]# nginx nginx: [emerg] still could not bind() 檢視80埠是否被佔用 [root@server /]# usr/sbin/lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 1326 root 4u IPv6 26961 0t0 TCP *:http (LISTEN) httpd 10589 apache 4u IPv6 26961 0t0 TCP *:http (LISTEN) httpd 10591 apache 4u IPv6 26961 0t0 TCP *:http (LISTEN) httpd 10593 apache 4u IPv6 26961 0t0 TCP *:http (LISTEN) httpd 10594 apache 4u IPv6 26961 0t0 TCP *:http (LISTEN) httpd 10595 apache 4u IPv6 26961 0t0 TCP *:http (LISTEN) #關閉httpd服務 [root@server /]# systemctl stop httpd 2、解決辦法: 根據Nginx配置檔案檢視配置的埠(本文中使用的是80埠),然後根據埠檢視端口占用情況 [root@xyw-cyck-cms-3 ~]# netstat -ntlp|grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 7043/nginx: worker 使用kill命令殺死佔用程序,之後重新啟動Nginx system start nginx
如果訪問網址失敗,應該是防火牆和selinux沒關掉
關閉selinux和firewalld
systemctl disable --now firewalld
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# setenforce 0
二·、打包壓縮
1、常見壓縮工具與壓縮命令
壓縮工具
windows : zip 、rar
Linux : gzip 、 bzip2
操作命令
前提 :壓縮操作只能壓縮檔案,不能壓縮資料夾,資料夾需要經過打包之後才能進行壓縮
壓縮 : gzip <檔名>
解壓 : gzip -d <壓縮包>
壓縮 : bzip2 <檔名>
解壓 : bzip2 -d <壓縮包>
小檔案壓縮可能記憶體反而變大,因為要加入壓縮演算法
無法壓縮目錄
原檔案:
-rw-------. 1 root root 1691 Dec 8 17:25 anaconda-ks.cfg
壓縮後:檔案變小
[root@localhost ~]# gzip anaconda-ks.cfg
[root@localhost ~]# ll
total 1044
-rw-------. 1 root root 883 Dec 8 17:25 anaconda-ks.cfg.gz
解壓:
[root@localhost ~]# gzip -d anaconda-ks.cfg.gz
[root@localhost ~]# ll
total 1044
-rw-------. 1 root root 1691 Dec 8 17:25 anaconda-ks.cfg
2、打包檔案
打包命令
命令 : tar
需要指定引數,因為 tar 既有打包又有解包的功能,
打包 : -c
tar -c -f <壓縮後名稱> <目錄名>
目錄名不能用絕對路徑,會報錯
# 打包
[root@localhost ~]# tar -c -f nginx-1.tar nginx-1.20.2
[root@localhost ~]# ll
total 20004
drwxr-xr-x. 9 1001 1001 186 Dec 17 16:23 nginx-1.20.2
-rw-r--r--. 1 root root 19415040 Dec 17 19:17 nginx-1.tar
# 壓縮
[root@localhost ~]# gzip nginx-1.tar
[root@localhost ~]# ll
total 6196
drwxr-xr-x. 9 1001 1001 186 Dec 17 16:23 nginx-1.20.2
-rw-r--r--. 1 root root 5273306 Dec 17 19:17 nginx-1.tar.gz < -- 壓縮過後
# 打包後用 zip 壓縮,並顯示壓縮過程, 壓縮引數 -z 得和打包 -c 一起使用,單獨無法使用
[root@localhost ~]# tar -c -v -z -f nginx-1.2.tar nginx-1.20.2
注意 : -f 引數後面一定要跟著壓縮後的 壓縮包名
# 用 tar 命令解壓:
[root@localhost ~]# tar -xf nginx-1.20.2.tar.gz
[root@localhost ~]# ll
total 25156
drwxr-xr-x. 8 1001 1001 158 Nov 16 22:44 nginx-1.20.2
引數
引數:
-f : 指定打包的包名稱
-c : 打包
-v : 顯示打包的過程
-z : 使用gzip壓縮壓縮包
-j : 使用bzip2壓縮壓縮包
-x : 解壓(解壓不需要指定壓縮型別)
-t : 檢視壓縮包內部的內容
-P :忽略使用絕對路徑時報出的錯誤
注意:
1、壓縮時是什麼路徑,解壓縮時就是什麼路徑,所以為了安全不要使用絕對路徑壓縮。
2、-f引數後面永遠跟壓縮包名稱
三、定時任務
1、定時應用
在工作中,有些執行指令碼需要在凌晨或者一些固定的時間點執行,可以給指令碼設定定時任務,到點直接執行程式,無須人工手動操作
2、定時配置檔案目錄與格式
定時檔案目錄
/etc/crontab
格式
* * * * * crontab
分 時 天 月 周幾