centos 7 搭建web伺服器
centos7安裝
-
這裡就是網上下好iso映象,然後一步步裝好,建議初學者選GNONE桌面版方便操作
Apache、Mysql、PHP安裝
-
Apacheapache軟體包名稱叫做httpd
yum install httpd
出現提示時一路 y+回車 就好啟動Apache並將其設定為開機啟動
systemctl start httpd.service
systemctl enable httpd.service
檢查httpd服務狀態:systemctl status httpd.service
看到綠色的active(running)
表示httpd服務正在執行中,enabled
這樣HTTP協議就啟動了,因為它要用到埠80,因此防火牆要放通80,這裡直接就關掉它
systemctl stop firewalld.service
停止firewallsystemctl disable firewalld.service
禁止開機啟動現在可以通過
ip addr
查詢當前系統ip地址,在瀏覽器訪問就可以看到apache頁面 Tips: 這裡可以將虛擬機器內部ip配置為靜態的,然後修改主機hosts檔案對應別名如myserver之後即可通過http://myserver直接訪問 -
PHP
yum install php
這裡有需要的話可以進入/etc/php.ini
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賬號登入mariadbshow mysql
切換到mysqlGRANT 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的錯誤,解決方案如下
-
確保配置虛擬目錄時設定了目錄訪問許可權即
Require all granted
-
到這裡可能是網站目錄的許可權問題,apache要求目錄具有執行許可權,也就是x,所以要確保訪問的目錄樹都具有這些許可權,例如我的目錄時/home/daybreak/www,則需要
chmod 755 /home chmod 755 /home/daybreak chmod 755 /home/daybreak/www 或者直接 chmod 755 -R /home
-
如果依然是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
-
編譯原始碼需要安裝
gcc
和gcc-c++
(可先使用yum info package_name
檢查是否已安裝):sudo yum install gcc gcc-c++
-
安裝完成後執行
configure
檔案並編譯,編譯完成後安裝:./configure && make && make install
-