###### tags: `大四上Linux系統管理` # Nginx+PHP+MariaDB實作 ## 更新ubuntu及安裝軟件包 >開啟終端機輸入 **sudo apt update** >輸入 **sudo apt install curl gnupg2 ca-certificates lsb-release** 安裝軟件包 ## 在同一終端中,添加必要的密鑰和存儲庫以能夠安裝Nginx: sudo apt install curl gnupg2 ca-certificates lsb-release ![](https://i.imgur.com/E9NXTaT.png) curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add - echo "deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu focal nginx" | sudo tee /etc/apt/sources.list.d/nginx.list > >![](https://i.imgur.com/O9WvJTO.png) ## 正確添加存儲庫後,我們可以繼續執行 安裝Nginx軟件包 sudo apt update; sudo apt install nginx > **啟動Nginx服務** >輸入 sudo systemctl start nginx >開啟網頁 網址輸入自己的IP **成功後能出現此畫面** >![](https://i.imgur.com/vZEDchn.png) ### 安裝防火牆(不確定需不需要) sudo yum install firewalld 輸入 firewall-cmd --state 確認防火牆是否安裝 ![](https://i.imgur.com/ClD05T6.png) 先允許防火牆讓 HTTP、HTTPS 封包通過。 sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload ![](https://i.imgur.com/1onZCjU.png) 直接啟動服務,並讓它在開機後自動啟動。 sudo systemctl restart nginx sudo systemctl enable nginx 再修改預設主站台設定檔。 sudo vi /etc/nginx/conf.d/default.conf 改成下列內容,啟用 PHP 的支援。 > server { listen 80; server_name localhost; charset utf-8; access_log /var/log/nginx/access.log main; root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 按esc :wq離開 另外,因為 SELinux 會限制 Nginx 寫入動作,所以還要打開主目錄的存取權限。 sudo chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html > 最後,讓新的設定值生效。 sudo systemctl reload nginx >![](https://i.imgur.com/vZEDchn.png) > **不管怎樣方法一 or 方法二能看到welcome to ngnix就好** ## 安裝MariaDB 下一步將是使用以下命令安裝MariaDB服務器 sudo apt install mariadb-server mariadb-client 接下來,我們將不得不 使用mysql_secure_installation命令設置root密碼和安全的MariaDB實例。 對於您向我們提出的所有問題,將沒有其他答案y'。 sudo mysql_secure_installation > 設定完密碼 後面選y即可 >![](https://i.imgur.com/B3Xdjvf.png) ## 安裝PHP-FPM (很重要) 我們將 安裝 PHP-FPM (PHP-FastCGI流程管理器) 顯示用PHP編寫的動態內容。 sudo apt install php-fpm php-mysql php-cli 可以輸入以下指令查看PHP版本 php -v PHP-FPM偵聽 套接字/run/php/php8.2-fpm.sock 默認情況下。 為了使其使用TCP連接,我們將編輯以下文件: **注意: php後面數字是版本可自行修改安裝版本** sudo vim /etc/php/8.2/fpm/pool.d/www.conf > 進入文件後,我們將 更改監聽參數: listen = /run/php/php8.2-fpm.sock 改成 listen = 127.0.0.1:9000 >![](https://i.imgur.com/Vv4FQmW.png) > 進行更改後,我們只需要保存文件並關閉即可。 sudo systemctl restart php8.2-fpm.service ## 建立php檔案 測試的方法也很簡單,只要在預設站台的根目錄 /usr/share/nginx/html 下面,建立一個 PHP 檔案。 sudo vi /usr/share/nginx/html/info.php > 輸入以下指令到檔案 <?php phpinfo(); ?> ## 測試LEMP 直接打開瀏覽器,在網址列除了輸入 IP 之外,再加上 php 檔案名稱,例如 http://127.0.0.1/info.php, 看到這個畫面就代表成功了。 ![](https://i.imgur.com/7IKSJtj.png) 參考網站 先做完網站一 再到網站二 網站一: https://ubunlog.com/zh-TW/lemp-nginx-mariadb-php-instalacion-ubuntu-20-04/ 網站二: http://blog.itist.tw/2016/01/installing-lemp-stack-with-centos-7-nginx-mariadb-php-7.html