搭建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>