1. 程式人生 > >linux上apache配置虛擬主機

linux上apache配置虛擬主機

1.新增監聽埠

vim /etc/httpd/conf/httpd.conf

2.新增虛擬主機配置

vim /etc/httpd/conf.d/virtual.conf      #如果沒有該檔案則新建

在該檔案中加入類似如下內容:

<VirtualHost *:81>
      DocumentRoot /var/www/html/SMSystem
      ServerName SMSystem.com
 </VirtualHost>

3.配置主機名和Ip配置檔案

vim /etc/hosts

在該檔案最下面加上類似下面這樣的(IP+主機名

192.168.91.146 SMSystem.com
4.重啟虛擬機器和httpd服務

reboot

systemctl start httpd

5.遇到的問題

         無法開啟http服務 Job for httpd.service failed because the control process exited with error code.see “systomctl status httpd.service” and “journalctl -xe” for details.

解決方法:這是一個很常見的錯誤,有兩個可能原因 
1. 前面配置確實出現了錯誤,比如 多了 空格 少了標點符號 一定要回去檢查 確保配置程式碼確實無誤之後 看下一步

  1. 配置無誤的話導致這個問題的原因大多是httpd程序被佔用,所以只需要殺掉這個程序就可以: 
    先ps –aux | grep http 
    第二行數字就是程序pid號 
    Kill -9 pid號 即可殺掉程序 
    殺完之後 重啟reboot 再ps –aux | grep http 確保httpd程序被殺掉 若發現無法殺掉程序 往下看

  2. 如果殺掉程序的話,重啟程序還存在,就代表成了殭屍程序,就重新安裝哈httpd 
    步驟如下: 
    先用yum解除安裝httpd和mod_wsgi, 
    命令:yum remove httpd mod_wsgi; 
    然後再安裝yun -y install httpd mod_wsgi 就可以了 
    安裝完成後 service httpd restart 即可 問題基本排除