# 安裝LNMP (HW06) ***LNMP(LEMP):Nginx+PHP+MariaDB*** ### 1. 更新系統 ``` $ sudo apt update && sudo apt upgrade ```    ### 2. 安装Nginx 下載並安裝Nginx 確認Nginx正在運作 ``` $ sudo apt install nginx $ sudo systemctl status nginx ```     ***補充: 查Ip address*** ``` $ ip addr show ```  - [ ] *教室電腦ip*  在瀏覽器檢查Nginx  - [ ] *教室電腦ip*  ### 3. 安装MariaDB 下載並安裝MariaDB ``` $ sudo apt install mariadb-server mariadb-client -y ```   確認MariaDB正在運作 ``` $ sudo systemctl status mariadb ```  ? ``` $ sudo mysql_secure_installation ```    ? ``` $ sudo mysql -u root -p ```  ### 4. 安装PHP 下載並安裝PHP ``` $ sudo apt install php8.1 php8.1-fpm php8.1-mysql php-common php8.1-cli php8.1-common php8.1-opcache php8.1-readline php8.1-mbstring php8.1-xml php8.1-gd php8.1-curl ```    啟動PHP-FPM ? ``` $ sudo systemctl start php8.1-fpm $ sudo systemctl enable php8.1-fpm ```  確認PHP正在運作 ``` $ sudo systemctl status php8.1-fpm ```  ? ``` $ sudo nano /etc/php/8.1/fpm/php.ini ``` 在php.ini中修改以下數值 ``` upload_max_filesize = 32M post_max_size = 48M memory_limit = 256M max_execution_time = 600 max_input_vars = 3000 max_input_time = 1000 ``` 重新啟動PHP-FPM ``` $ sudo systemctl restart php8.1-fpm ```  ### 5. 配置Nginx虛擬主機 ? ``` $ sudo nano /etc/nginx/sites-enabled/default ``` 將default裡的server{}編輯成如下方所示 ``` server { listen 80; root /var/www/html; index index.php; server_name example.com www.example.com; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } } ``` 確認Nginx設定是否正常 重新啟動Nginx和PHP-FPM ``` $ nginx -t $ sudo systemctl restart nginx php8.1-fpm ```  ### 6. Nginx PHP處理 ***補充: 拒絕不符權限的操作*** ``` $ sudo chmod 777 /var/www/html -R ```  建基本PHP基本資訊頁面 ``` $ echo "<?php phpinfo(); ?>" > /var/www/html/info.php ```  瀏覽器開啟PHP資訊頁面  - [ ] *教室電腦ip*  ### 檢查: IP和PHP版本  Nginx版本  MariaDB版本  ### 參考資料: * https://cloudcone.com/docs/article/how-to-install-lemp-stack-on-ubuntu-22-04/ * https://www.linuxbabe.com/ubuntu/install-lemp-stack-ubuntu-22-04-server-desktop
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up