1. 程式人生 > >centos 7 搭建web伺服器

centos 7 搭建web伺服器

centos7安裝

  • 這裡就是網上下好iso映象,然後一步步裝好,建議初學者選GNONE桌面版方便操作

Apache、Mysql、PHP安裝

  • Apacheapache軟體包名稱叫做httpdyum install httpd出現提示時一路 y+回車 就好

    啟動Apache並將其設定為開機啟動 systemctl start httpd.service systemctl enable httpd.service 檢查httpd服務狀態: systemctl status httpd.service 看到綠色的active(running)表示httpd服務正在執行中,enabled

    表示httpd服務已設為開機啟動

    這樣HTTP協議就啟動了,因為它要用到埠80,因此防火牆要放通80,這裡直接就關掉它 systemctl stop firewalld.service 停止firewall systemctl disable firewalld.service 禁止開機啟動

    現在可以通過ip addr查詢當前系統ip地址,在瀏覽器訪問就可以看到apache頁面 Tips: 這裡可以將虛擬機器內部ip配置為靜態的,然後修改主機hosts檔案對應別名如myserver之後即可通過http://myserver直接訪問

  • PHPyum install php這裡有需要的話可以進入/etc/php.ini

    做一些配置的修改測試Apache能不能正常呼叫php,在/var/www/html目錄下新建一個輸出phpinfo的檔案vim /var/www/html/phpinfo.php使用瀏覽器開啟可以看到php資訊頁則說明正常然後安裝常用的擴充套件yum -y install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc

  • Mysql這裡推薦安裝MariaDB(從RHEL 7開始Red Hat公司推薦使用它替換Mysql)yum install mariadb-server mariadb

    systemctl start mariadb 啟動mariadbsystemctl enable mariadb 設定為開機啟動

    這裡可以啟動資料庫守護程序 mysql_secure_installation 用來設定root密碼,允許遠端root登入等等

    mysql -u root -p使用root賬號登入mariadb show mysql切換到mysql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 修改登入許可權設定為允許遠端登入

配置apache虛擬目錄

apache預設工程目錄是在/var/www下的,而編輯該目錄必須是root使用者,因此我們有必要自定義一個目錄,讓apache也能識別vim /etc/httpd/conf/httpd.conf開啟apache配置檔案找到<dir alias_module>,在內部新增

示例:
Alias /myweb "/home/daybreak/www"
<Directory "/home/daybreak/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

這裡我的自定義路徑為/home/daybreak/www,對應別名是myweb,在瀏覽器輸入http"//myserver/myweb就能對真實目錄/home/daybreak/www下檔案進行訪問

注意:這裡直接訪問後很可能會出現403forbidden的錯誤,解決方案如下

  1. 確保配置虛擬目錄時設定了目錄訪問許可權即Require all granted

  2. 到這裡可能是網站目錄的許可權問題,apache要求目錄具有執行許可權,也就是x,所以要確保訪問的目錄樹都具有這些許可權,例如我的目錄時/home/daybreak/www,則需要

chmod 755 /home
chmod 755 /home/daybreak
chmod 755 /home/daybreak/www
或者直接 chmod 755 -R /home
  1. 如果依然是403,那就是selinux的問題,把目錄進行一下selinux許可權設定chcon -R -t httpd_sys_content_t /home

這樣訪問成功後就可以通過自定義的目錄訪問web文件

擴充套件:nginx 與 node 的安裝

nginx 安裝

  • 新增 centos7 nginx yum 資源庫:

    sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  • yum 安裝:

    sudo yum install -y nginx
  • 啟動並且開機啟動nginx:

    sudo systemctl start nginx && sudo systemctl enable nginx
  • 測試nginx配置檔案(檢視nginx配置位置):

    nginx -t

node 安裝

  • 使用官方編譯的二進位制資料包安裝:

    • 進入官網下載連結,選擇想要下載的版本連結與版本(*-linux-x64.tar.gz),進入使用者主目錄使用 wget 命令下載:

      wget https://nodejs.org/download/release/v8.9.4/node-v8.9.4-linux-x64.tar.gz
    • 下載完成後解壓到 /usr/local 目錄並安裝:

      sudo tar --strip-components 1 -xzvf node-v* -C /usr/local
    • 安裝完成後驗證安裝:

      node -v
      v8.9.4
  • 原始碼安裝:

    • 使用原始碼安裝與二進位制資料包安裝的區別在於原始碼安裝還需要編譯原始碼才能安裝

    • 進入官網下載連結,選擇版本(node-v*.tar.gz):

      wget https://nodejs.org/download/release/v8.9.4/node-v8.9.4.tar.gz
    • 下載完成後,解壓並進入解壓後的目錄

      tar xzvf node-v8.9.4.tar.gz && cd node-v8.9.4
    • 編譯原始碼需要安裝 gccgcc-c++ (可先使用yum info package_name 檢查是否已安裝):

      sudo yum install gcc gcc-c++
    • 安裝完成後執行 configure 檔案並編譯,編譯完成後安裝:

      ./configure && make && make install​