LAMP-CentOS7搭建Web伺服器

FireTim發表於2024-07-01

搭建LAMP Web伺服器

在家中翻到了以前用的老電腦,在思索一番後,決定把這臺電腦改造成一臺Web伺服器,作為我自己搭建部落格的測試機器。

一、Linux伺服器

LAMP中的L指的是Linux伺服器,其中Linux伺服器的版本眾多,如,CentOS、Ubuntu等Linux版本,我自己選擇了CentOS系統。因為是物理機,所以在給機器安裝系統的時候,就和虛擬機器安裝系統時不一樣了,我的準備如下:

  • 物理機一臺(CPU:i3-9100,記憶體:12G)
  • 隨身碟(大於8G)
  • CentOS 7

1、製作Linux系統隨身碟

 CentOS和8G 隨身碟準備完畢以後,在其他PC中下載並安裝光碟燒錄軟體UltraISO,開啟UltraISO軟體,選擇 “檔案” -> “開啟” 選擇linux系統映象(iso檔案)並 “開啟”。
 插入隨身碟,選擇 “啟動” -> “寫入硬碟映象”,硬碟驅動器選擇做為系統盤的隨身碟,其他選項不需要改動。
 點選 ”寫入” ,等待燒錄完成即可。

2、安裝CentOS系統

  • 1、插入剛剛製作的系統隨身碟,重啟時不停按DELETE,進入BIOS,更改隨身碟為第一啟動項,並重啟。
  • 2、重啟後進入系統選擇頁面,選擇install CentOS 7
    注:如果在選擇以後,出現scripttimeout這樣的報錯,就是表示沒有找到映象目錄,這時候就需要在dev目錄下(cd /dev)確定隨身碟是屬於哪個掛載盤(ls -all),並修改(輸入reboot重啟,重啟後,不停的按e,進入修改介面,把vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet,修改成vmlinuz initrd=initrd.img repo=hd:/dev/sdb1 quiet,注意sdb1可能需要更改成sdb4,具體看隨身碟的掛栽盤是什麼)
  • 3、在成功進入系統安裝介面後,按照安裝步驟一步一步進行下去,在安裝過程中可能需要我們自定義軟體源(http://mirrors.aliyun.com/centos/7/os/x86_64/)

3、備份系統

為了防止在後續的搭建web伺服器時出現不可挽回的錯誤,這時候就先對系統進行備份,以防萬一。

  • tar備份系統

    tar  cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found  --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media / 
    

    在根目錄下執行上述命令,備份整個系統,並匯出系統備份檔案。

  • 系統還原

    tar xvpfz backup.tgz -C /
    

在完成了上述三個步驟以後,就可以在Linux系統的基礎上進行後續的操作了。

二、Apache

Apache是目前最流行的Web伺服器之一,我們可以透過以下命令來安裝:

yum install httpd -y

安裝完成後,啟動Apache服務:

systemctl start httpd.service

接下來,我們可以透過瀏覽器訪問伺服器IP地址,如果看到“Apache 2 Test Page”頁面,則表示Apache已經成功安裝。
在Apache安裝完成以後,我們不能每次重啟機器以後,都要再次執行Apache啟動命令,所以還需要設定Apache開機自啟。執行如下命令:

chkconfig httpd  on

三、PHP

PHP是最受歡迎的伺服器端指令碼語言之一,我們可以透過以下命令來安裝:

yum install php       //安裝php模組
yum install php-mysql  php-gd  php-imap  php-ldap  php-odbc  php-pear  php-xml  php-xmlrpc    //安裝PHP支援這些元件
yum install php-mysql    //安裝php支援mysql

四、MySQL

MySQL是最流行的關係型資料庫之一,我們可以透過以下命令來安裝:

yum install mariadb-server mariadb -y

安裝完成後linux定時關機命令,啟動MySQL服務並設定開機自啟:

systemctl start mariadb.service
systemctl enable mariadb.service

接下來,我們需要對MySQL進行一些安全設定:

mysql_secure_installation

在執行上述命令後,會需要我們進行一些設定,具體操作如下:

Enter current password for root (enter for none):<–初次執行直接回車

Set root password? [Y/n] <– 是否設定root使用者密碼,輸入y並回車或直接回車

New password: <– 設定root使用者的密碼

Re-enter new password: <– 再輸入一次你設定的密碼

Remove anonymous users? [Y/n]  <– 是否刪除匿名使用者,生產環境建議刪除,所以直接回車

Disallow root login remotely? [Y/n]   <–是否禁止root遠端登入,根據自己的需求選擇Y/n並回車,建議禁止

Remove test database and access to it? [Y/n]  <– 是否刪除test資料庫,直接回車

Reload privilege tables now? [Y/n] <– 是否重新載入許可權表,直接回車

五、配置虛擬主機

虛擬主機是多個網站共享同一個伺服器的一種方式。我們可以透過以下步驟來配置虛擬主機:

  • 1、在Apache配置檔案中新增虛擬主機配置
    vim /etc/httpd/conf/httpd.conf
    
    在檔案末尾新增以下程式碼:
    <VirtualHost *:80>
    ServerAdmin 
    DocumentRoot /var/www/html/
    ServerName 
    ErrorLog logs/-error_log
    CustomLog logs/-access_log common
    </VirtualHost>
    
  • 2、建立虛擬主機目錄
    mkdir /var/www/html/
    
  • 3、將網站檔案放入虛擬主機目錄中
    將網站檔案放入/var/www/html/目錄中。
  • 4、重啟Apache服務
    systemctl restart httpd.service
    

六、 新增SSL證書

SSL證書可以保護網站傳輸的資料安全,我們可以透過以下步驟來新增SSL證書:

  • 1、安裝mod_ssl模組
    yum install mod_ssl -y
    
  • 2、建立證書
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/.key -out /etc/pki/tls/certs/.crt
    
  • 3、配置Apache在虛擬主機配置檔案中新增以下程式碼:
    SSLEngine on
    SSLCertificateFile "/etc/pki/tls/certs/.crt"
    SSLCertificateKeyFile "/etc/pki/tls/private/.key"
    
  • 4、重啟Apache服務
    systemctl restart httpd.service
    

七、最佳化伺服器效能

為了提高伺服器效能,我們可以採取以下措施:

  • 1、禁用不必要的服務

    systemctl disable postfix
    
  • 2、安裝快取軟體

    yum install memcached -y
    
  • 3、調整Apache配置在Apache配置檔案中新增以下程式碼:

    <IfModule mpm_prefork_module>
    StartServers        5
    MinSpareServers     5
    MaxSpareServers     10
    MaxRequestWorkers   150
    MaxConnectionsPerChild 0
    </IfModule>
    

相關文章