先進行系統更新
並安裝與升級至要安裝的版本
rpm -Uvh http://mirror01.idc.hinet.net/EPEL//7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-13.ius.centos7.noarch.rpm
yum install yum-plugin-replace -y
1. 安裝 Nginx
a. 加入的 Nginx rpm
#rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
b. 安裝 nginx
#yum install nginx -y
c. 啟動nginx服務
#systemctl start nginx.service
設定開機啟動服務
#systemctl enable nginx.service
網站根目錄位置
1. /usr/share/nginx/html
定義檔位置
1. /etc/nginx/nginx.conf (記錄執行者user)
2. /etc/nginx/conf.d/default.conf (記錄網站設定)
3. 官方建議其他Visual conf設定
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
複製Default設定
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
修改需要的參數後
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
當需要暫時停用時只要砍掉sites-enabled裡面的資料即可
2.安裝 mariadb (Mysql作者另闢新的open source以維持open source的精神)
a. 安裝mariadb server與cleint
#yum install mariadb-server mariadb -y
b. 啟動
#systemctl start mariadb
c. 設定密碼
#mysql_secure_installation (第一個enter,再來輸入兩次新密碼、接著enter帶過選項)
2.4 開機服務設定
#systemctl enable mariadb.service
3.安裝 php
a. 安裝,依據自己所需的套件選擇安裝
#yum install php php-mysql php-fpm php-ctype php-dom php-gd php-ldap php-mbstring php-posix php-soap php-xml -y
b. 安全設定
這裡如果用預設等於1的話會造成的漏洞是可以讓使用者上傳一個偽造jpg的PHP檔案
這算是個大洞
#sudo vi /etc/php.ini
找 ;cgi.fix_pathinfo = 1
改為 cgi.fix_pathinfo=0
c. 更改 php-fpm 定義檔
#sudo vi /etc/php-fpm.d/www.conf
將 listen = 127.0.0.1:9000
改為 listen = /var/run/php-fpm/php-fpm.sock
將 user = apache
改為 user = nginx (同nginx執行者)
將 group = apache
改為 group = nginx
d. 啟動
#systemctl start php-fpm
e. 設定開機啟動服務
#systemctl enable php-fpm.service
f. Nginx的配置要處理的PHP頁面
#vi /etc/nginx/conf.d/default.conf
替換成:
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html; //這裡可以修改成檔案目錄位置
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
//設定一些錯誤網址
location /www {
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
//設定php-fpm執行
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
g. 重新啟動nginx
#sudo systemctl restart nginx
查看Localhost是否可以正常執行