linux搭建webapp實戰

大雄45發表於2023-01-19

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

我的電腦是 windows系統,我選擇虛擬機器來安裝linux系統,這樣不會引起雙系統的衝突,對於學習來說,在適合不過了。首先第一步,在windows系統上安裝 VMware WorkStation虛擬機器(簡稱VM虛擬機器) ,這裡介紹下 VMware WorkStation虛擬機器 ,他是一款桌面級的虛擬軟體,執行在 windows系統上,在這上邊可以隨意安裝其他作業系統,比如linux,ios等等,並且 VMware WorkStation虛擬機器 對電腦的硬體要求也不高,普通的電腦就可以勝任,所以建議大家用 VMware WorkStation虛擬機器 來聯絡 linux相關的實戰。安裝好vm虛擬機器後,雙擊開啟是這樣一個介面。

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

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

裝好紅帽作業系統之後,我們進入系統,這裡我們會用到安裝,解除安裝,升級軟體等操作,常用的命令如下:安裝軟體: 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 軟體包名稱

L inux系統準備就緒之後,我們下一步安裝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功能是否正常,如下圖所示:

最後配置我們 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編譯報錯的問題,上網搜尋發現了 有詳細的搭建過程,裡邊有一個章節專門介紹了使用 LNMP架構部署動態網路環境,非常適合新手練習,如果我早發現,按部就班就不會出現那些稀奇古怪的錯誤了,能夠解約很多時間,大家有需要可以去看看。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2930924/,如需轉載,請註明出處,否則將追究法律責任。

相關文章