天天看點

linux搭建webapp實戰

作者:IT小白進階之路

首先介紹下linux,linux因其開源,定制化高,安全等原因,成為了目前web應用部署首選的作業系統,linux作業系統有很多版本,常見的有centos,debian,RHLE,redhat,烏班圖等等。今天我選了紅帽RHEL8作為作業系統來部署一個webapp環境。

linux搭建webapp實戰

我的電腦是windows系統,我選擇虛拟機來安裝linux系統,這樣不會引起雙系統的沖突,對于學習來說,在适合不過了。首先第一步,在windows系統上安裝VMware WorkStation虛拟機(簡稱VM虛拟機),這裡介紹下VMware WorkStation虛拟機,他是一款桌面級的虛拟軟體,運作在windows系統上,在這上邊可以随意安裝其他作業系統,比如linux,ios等等,并且VMware WorkStation虛拟機對電腦的硬體要求也不高,普通的電腦就可以勝任,是以建議大家用VMware WorkStation虛拟機來聯系linux相關的實戰。安裝好vm虛拟機後,輕按兩下打開是這樣一個界面。

linux搭建webapp實戰

裝好vm虛拟機之後,我們需要再下載下傳對應的linux作業系統,這裡我選擇紅帽作業系統REHL8,下載下傳好鏡像之後,點選vm虛拟機中的建立新的虛拟機,然後一直預設選擇即可,最後安裝程式CD光牒影響檔案選擇我們上邊下載下傳好的REHL8作業系統鏡像,作業系統選擇linux,系統配置根據目前windows的配置,随意設定即可,這裡我選擇處理器數量1,核心數量1,記憶體配置設定2048MB,網絡模式推薦選擇使用僅主機模式網絡,這樣linux的網絡就和你自己的windows網絡就通了,i/o控制器類型選擇推薦模式LSI LOGIC,磁盤類型選擇SATA,磁盤設定如下:選擇建立新的虛拟磁盤,指定磁盤容量為20G,磁盤名稱我填:RHEL8,位置自己指定,這樣在自己windows磁盤下,就會生成一個20G左右大小的linux虛拟機檔案,後邊的的設定全部預設即可,設定完成之後,會是這樣一個界面。

linux搭建webapp實戰

然後點選開啟此虛拟機,就會自動安裝linux系統了,裡邊的選項全部選擇預設選項,安裝完成之後重新開機,就能正常進入紅帽作業系統了,如下圖所示:

linux搭建webapp實戰

裝好紅帽作業系統之後,我們進入系統,這裡我們會用到安裝,解除安裝,更新軟體等操作,常用的指令如下:安裝軟體:rpm -ivh filename.rpm

更新軟體:rpm -Uvh filename.rpm;解除安裝軟體:rpm -e filename.rpm;查詢軟體描述資訊:rpm -qpi filename.rpm;查詢檔案屬于哪個RPM:rpm -qf filename。可能還會用到yum相關的指令。常見的yum指令如下:列出所有倉庫:yum repolist all;列出倉庫中所有軟體包:yum list all;安裝軟體包:yum install 軟體包名稱;更新軟體包:yum update 軟體包名稱;移除軟體包:yum remove 軟體包名稱。

Linux系統準備就緒之後,我們下一步安裝Nginx。這裡先簡單介紹下nginx,nginx是一個部署動态網站的服務程式,nginx占用資源少,輕量高效,支援熱部署等等,目前在web伺服器方面市場占有率很高,是動态部署網絡的首選。使用tar zxvf nginx-1.35.0.tar.gz指令解壓nginx安裝包,cd nginx-1.35.0進入安裝目錄,使用如下指令編譯nginx:./configure --prefix=/usr/local/nginx --with-http_ssl_module;make; make install期間如果沒有明顯報錯,說明我們安裝nginx成功了;安裝好nginx之後,進入配置目錄,配置我們webapp的相關資訊。vim /usr/local/nginx/conf/nginx.conf 配置檔案内容如下:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

64 #

65 location ~ \.php$ {

66 root html;

67 fastcgi_pass 127.0.0.1:9000;

68 fastcgi_index index.php;

69 fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;

70 include fastcgi_params;

71 }

配置之後為了友善後續我們快捷使用nginx指令,這裡我們添加環境變量:/usr/local/nginx/sbin路徑加入到PATH變量中。讓Bash解釋器在後續執行指令時自動搜尋到它。然後在source指令後加載配置檔案,讓參數立即生效。下次就隻需要輸入nginx指令即可啟動網站服務了。

下一步我們安裝資料庫,這裡我選擇免費的mysql資料庫,同樣的,我們先解壓mysql安裝包:tar xvf mysql-8.2.0.tar.xz,進入解壓目錄cd mysql-8.2.0/bin 執行mysql初始化服務:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data;然後設定原始賬号和密碼:mysql -u root -p;安裝成功之後,使用use mysql; show tables等指令檢視mysql功能是否正常,如下圖所示:

linux搭建webapp實戰

最後配置我們webapp服務,我的webapp是php寫的,是以這裡部署php服務,操作步驟類似上邊的。解壓:tar xvf php-7.3.5.tar.gz

編譯:make;make install;編輯php.ini : vim /usr/local/php/lib/php.ini

最後啟動php服務:/etc/init.d/php-fpm start。

至此wepapp依賴的底層服務全部搭建結束,後邊就是安裝自己的App了,這裡就不介紹了,搭建背景服務中間遇上了很多細節問題,比如nginx啟動失敗,mysql編譯報錯的問題,上網搜尋發現了《Linux就該這麼學》有詳細的搭建過程,裡邊有一個章節專門介紹了使用LNMP架構部署動态網絡環境,非常适合新手練習,如果我早發現,按部就班就不會出現那些稀奇古怪的錯誤了,能夠解約很多時間,大家有需要可以去看看。

繼續閱讀