close

今天在這裡要記錄如何在Ubuntu 18.04 安裝Nginx、MySQL、PHP 7.4

先安裝 apt 套件管理系統

sudo apt install software-properties-common

[Nginx]

首先加入Nginx源

sudo add-apt-repository ppa:ondrej/nginx

或是

sudo add-apt-repository ppa:ondrej/nginx-mainline

安裝Nginx

sudo apt-get install nginx

配置Nginx

配置Nginx的位置為 /etc/nginx/sites-available


[MySQL]

安裝MySQL

sudo apt-get install mysql-server mysql-client

# mysql-server 是 mysql的核心,就是mysql的server端,沒有server就算有client端也無法使用。

# mysql-client 是 mysql-server的其中一個client端,還有其他的像是 phpmyadmin 或是 mysqldump、mysqlslap ... 等工具。

安裝好之後

sudo service mysql status 可以查看 mysql 目前運行狀態

設置MySQL

sudo mysql_secure_installation

輸入完後會要你輸入root的密碼

登入MySQL

mysql -u 你的使用者名稱 -p

然後輸入使用者密碼

[設定新使用者/更改使用者設定]

更改使用者密碼

mysql> USE mysql;

mysql> SELECT User, Host, plugin FROM mysql.user;

User Host plugin
root localhost auth_socket
mysql.session localhost mysql_native_password
mysql.sys localhost mysql_native_password
debian-sys-maint localhost mysql_native_password

mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你要設置的密碼';

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你設置的密碼';

mysql> FLUSH PRIVILEGES;

mysql> exit;

sudo service mysql restart

設定新使用者

mysql> USE mysql;

mysql> CREATE USER '你的使用者名稱'@'localhost' IDENTIFIED BY '';

mysql> GRANT ALL PRIVILEGES ON *.* TO '你的使用者名稱'@'localhost';

mysql> UPDATE user SET plugin='auth_socket' WHERE User='你的使用者名稱';

mysql> FLUSH PRIVILEGES;

mysql> exit;

$ sudo service mysql restart

要是更改密碼出現 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 錯誤訊息

先登入 mysql 查詢密碼長度規則 與 密碼驗證原則

mysql> SELECT @@validate_password_length; 

mysql> SELECT @@validate_password_policy;

底下是 MySQL 密碼驗證原則對照表

Policy Value Test Performed
0/Low length
1/Medium length; numeric, lowercase/uppercase, and special characters
2/Strong length; numeric, lowercase/uppercase, and special characters; dictionary file

通常會遇到這個錯誤 Policy Value 都是在1或2

正常來說會設置在1

所以密碼內要包含 數字、大寫字母、小寫字母和特殊符號


[PHP]

加入PHP源

sudo add-apt-repository ppa:ondrej/php

安裝php7.4

在terminal輸入

sudo apt-get update

sudo apt-get install php7.4-fpm php7.4-cli php7.4-mysql php7.4-gd php7.4-tidy php7.4-xmlrpc

安裝完成後

php -v 查看 php 版本

可以輸入 sudo service php7.4-fpm service 查看運行狀態


設置Nginx去讀PHP檔案

1. /etc/php/7.4/fpm/php.ini 裡面更改 cgi.fix_pathinfo 為 0

結束後重啟php-fpm

sudo service php7.4-fpm restart

2. 修改檔案:/etc/nginx/sites-available/default

server {

        listen 80 default_server;

        listen [::]:80 default_server;

        root /var/www/html;

        index index.php index.html index.htm index.nginx-debian.html;

 

        server_name _;

        location / {

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

        }

        location ~ \.php$ {

                try_files $uri =404;

                fastcgi_split_path_info ^(.+\.php)(/.+)$;

 

                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

                fastcgi_index index.php;

                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                include fastcgi_params;

        }

        location ~ /\.ht {

                deny all;

        }

}

 

結束後重啟nginx

sudo service nginx restart

arrow
arrow
    創作者介紹
    創作者 Pardo 的頭像
    Pardo

    Pardo的學習日記

    Pardo 發表在 痞客邦 留言(0) 人氣()