天天看點

ubuntu nginx php-fpm mysql_在百度雲Ubuntu 伺服器(BCC)上搭建 nginx + mysql + php-fpm 環境...

前言:無論是在百度雲還是阿裡雲Linux系統伺服器都大同小異。推薦一片文章傳送門。這篇文章主要說nginx,用apache的可以到傳送門去尋找。注意,ubuntu用apt管理工具,centos是yum管理工具;

一、本地連接配接你的伺服器

購買流程就不說了,我們從你購買完成浏覽器并建立好執行個體

ubuntu nginx php-fpm mysql_在百度雲Ubuntu 伺服器(BCC)上搭建 nginx + mysql + php-fpm 環境...

image.png

此時你通過ip是無法在位址欄通路的,需要先連接配接伺服器配制環境。

遠端控制 Linux 類型的系統的伺服器,比如 ubuntu 系統的伺服器,一般不像 Windows 伺服器那樣,使用圖形界面的遠端控制。我們需要使用指令行工具,遠端連接配接到伺服器,然後使用指令去控制伺服器。Windows 使用者可以使用 Putty,Mac 使用者可以使用系統自帶的終端工具。然後用 ssh 指令,連接配接到你的伺服器。像這樣:

ssh [email protected]

@ 左邊的 root 是連接配接時使用的使用者的名字,@ 右邊的數字是你的伺服器的 IP 位址。這行指令的意思就是,使用 root 使用者,登入到 218.244.147.196 這台伺服器上。回車以後,會提示你輸入 root 使用者的密碼(這個密碼你可以通過執行個體自行修改)。

二、添加新使用者

添加新使用者并配置設定 Root 權限

為了安全,我們可以單獨建立一個平時操作伺服器的使用者,并且給這個使用者配置設定可以使用 Root 的權限,也就是如果需要 Root 權限,可以在指令的前面加上 sudo 擷取到 Root 使用者的權限。

添加新使用者

比如添加一個名字是ngh 的使用者,可以這樣:

adduser nhg

設定密碼

為使用者設定密碼:

passwd nhg

配置設定 Root 權限

讓我們新建立的使用者擁有 Root 使用者的權限,執行:

gpasswd -a nhg wheel

把ngh 這個使用者名換成你自己的使用者名。

用新使用者登入伺服器

ssh [email protected]

三、安裝nginx

1.更新源

sudo apt-get update

2.安裝nginx

sudo apt-get install nginx

3.檢查是否安裝成功

使用伺服器的 IP 位址,若出現Welcome To Nginx則證明安裝成功。

配置 nginx 虛拟主機

安裝完 nginx 以後,第一件想到的事應該就是去建立虛拟主機,虛拟主機允許我們在同一台伺服器上運作多個網站,我們可以為不同的域名綁定不同的目錄,通路這個域名的時候,會打開對應目錄裡面的東西。下面來看一下為 nginx 配置虛拟主機。先進入到 nginx 配置檔案目錄:

cd /etc/nginx/conf.d

建立一個新的配置檔案,比如我要為 nhg.com這個主機名建立一個虛拟主機,可以這樣:

sudo vim nhg.com.conf

把下面的配置代碼放到這個配置檔案裡:

server {

listen 80;

server_name ngh.com;

root /var/www/html/nhg.com;

index index.php index.html;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

location ~ \.php$ {

fastcgi_pass unix:/run/php/php7.0-fpm.sock; ##這塊兒注意

fastcgi_index index.php;

include fastcgi.conf;

}

}

上面這個配置檔案支援一些的 PHP 應用,比如 WordPress,Drupal,Laravel。第一個 location 區塊可以讓 PHP 應用支援位址的重寫功能,第二個 Location 設定了讓虛拟主機可以去處理 PHP 的請求。注意這裡用了 include 指令,包含進來一個 fastcgi.conf 檔案,你要确定這個檔案存在。

你也可能會找到 fastcgi_params 這個檔案,如果沒有 fastcgi.conf 就把 fastcgi_params 這個檔案包含進來,并且在處理 php 的那個 location 區塊裡再添加一條配置:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

server_name 就是主機名,也就是跟這個虛拟主機綁定在一塊兒的域名,我事先把 nhg.com 指向了伺服器,這個虛拟主機就是為它準備的,是以,server_name 後面的東西就是 nhg.com 。緊接着 server_name 下面可以是一個 root,就是這個虛拟主機的根目錄,也就是網站所在的目錄。比如我們要把 nhg.com這個網站的檔案放在 /var/www/html/nhg.com 下面,那麼這個 root 就是這個路徑。

然後去掉 location / 裡面的 root 這行代碼。再在 index 後面加上一種索引檔案名,也就是預設打開的檔案,這裡要加上一個 index.php ,這樣通路 nhg.com 就可以直接打開 root 目錄下面的 index.php 了。稍後我們再去安裝 php 。

儲存一下,按 esc ,輸入 :wp(儲存并退出)。現在虛拟主機應該就可以使用了。主機的域名是 nhg.com,通路它的時候,打開的是 /var/www/html/nhg.com 這個目錄裡面的東西,你可以在這個目錄下放點東西。

重新開機 nginx 或者重新加載 nginx 可以讓配置檔案生效。

sudo service nginx restart

現在,打開浏覽器,輸入你為虛拟主機設定的域名,看看是否能打開你指定的目錄裡的東西。

你可以将你的代碼放到git,直接git到你的伺服器;

四、PHP 7

安裝php7.0

$ apt-get -y install php7.0-fpm php-mysql

PHP fix_pathinfo 潛在安全漏洞修複,在/etc/php/7.0/fpm/php.ini中找到

;cgi.fix_pathinfo=1

改為

cgi.fix_pathinfo=0

重新開機 php

$ sudo systemctl restart php7.0-fpm

在/etc/nginx/sites-available/default 中添加配置

server {

listen 80;

listen [::]:80;

# listen [::]:443 ssl http2;

# listen 443 ssl http2;

# include ssl.conf;

# ssl_certificate /path/to/crt;

# ssl_certificate_key /path/to/key;

root /var/www/server_domain_or_IP;

index index.html index.htm index.php;

server_name server_domain_or_IP;

location / {

try_files $uri $uri/ =404;

}

location /phpmyadmin {

index index.php;

}

location ~ \.php$ {

include snippets/fastcgi-php.conf;

fastcgi_pass unix:/run/php/php7.0-fpm.sock; // 這個

}

location ~ /\.ht {

deny all;

}

}

重新開機Nginx

$ sudo systemctl restart nginx

測試PHP是否已完成安裝配置,編輯/var/www/html/info.php

$ vi /var/www/html/info.php

添加内容

phpinfo();

?>

然後通路IP

出現PHP資訊則成功

安裝 PHP 擴充

為了可以正常運作一般的 PHP 應用,你需要再安裝一些其它的 PHP 擴充,通常你在安裝 PHP 應用,比如 WordPress,Drupal,Laravel 的時候,都會提示你缺少的 PHP 擴充。下面是一些常用的 PHP 擴充:

sudo apt-get install php70u-gd php70u-mysqlnd php70u-pdo php70u-mcrypt php70u-mbstring php70u-json php70u-opcache php70u-xml -y

五、安裝MySQL

apt-get -y install mysql-server mysql-client

安裝時候會出現紫色背景的界面設定MySQL的root賬戶的密碼,建議設定一個複雜的密碼

安裝完MySQL之後最好運作一次安全配置向導,通過該向導可以檢查root賬戶的密碼、禁止MySQL的遠端通路、移除匿名使用者和測試的資料表等等

安全配置向導指令

mysql_secure_installation

按提示操作即可

安裝 phpMyAdmin

通過 phpMyAdmin 可以友善地通過 web 操作 MySQL 資料庫,這裡同樣能用 apt-get 來安裝它

apt-get -y install phpmyadmin

安裝過程中它會有兩個選項問你的web伺服器是 Apache 還是 libhttpd ,這裡我們兩個都不是,随便選一個。

安裝好之後,phpMyAdmin 位于 /usr/share/phpmyadmin 目錄裡,我們配置 nginx 時候隻要将一個網站根目錄指向這裡就可以通路 phpMyAdmin 了,或者我們建立軟連接配接

ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin

則配制路徑到/var/www/phpmyadmin

重新開機Nginx

sudo service nginx restart