記錄一次 LNMP 環境搭建到 Https 配置

UKNOW發表於2019-11-06

之前一直習慣使用 LAMP環境,更多的使用Apache去作為自己的伺服器。今天折騰了一下LNMP,以及升級https,因為沒什麼含金量,僅作為我的一個記錄筆記吧。


  • 1.搭建了LNMP環境

    
      sudo apt-get update
    
      #安裝nginx
      sudo apt-get install nginx 
    
      #安裝 php7.2以及php7.2-fpm
      sudo apt-get install php7.2 php7.2-fpm
    
      #配置修改
      sudo vim /etc/nginx/sites-avaiable/default
      增加以下配置內容
    ![記錄一次LNMP 環境搭建到Https配置](https://cdn.learnku.com/uploads/images/201911/06/12860/MX47r8I5Lc.png!/fw/1240)
    
      #修改 www.conf配置檔案
    
      /etc/php/7.2/fpm/pool.d/www.conf
    
      sudo vim  /etc/php/7.2/fpm/pool.d/www.conf
      #把 
      listen = /run/php/7.2/php7.2-fpm.sock 
      #修改為
      listen =  /var/run/php/7.2/php7.2-fpm.sock
    
      #修改 php.ini配置檔案
      sudo vim /etc/php/7.2/fpm/php.ini
      #將該檔案的 
      cgi.fix_pathinfo = 1 
      #更改為
      cgi.fix_pathinfo = 0
    
      #修改 fastcgi_params配置檔案
      sudo vim /etc/nginx/fastcgi_params
    
      #在該檔案的組後一行假如程式碼
      fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name
    
      #接下來我們可以檢驗一下裝的是否正確,在根目錄下新建一個 test.php 檔案
      sudo vim /var/www/html/test.php
    
      #執行 localhost/test.php如果可以正確解析則OK。
    
      #安裝Mysql
    
      sudo apr-get install mysql-server mysql-client php7.2-mysql
    
      #安裝完成後我們可以使用PDO來檢測一下
      sudo vim /var/www/html/mysql.php
    
      <?php
         try{
            $pdo = new PDO("mysql:host=localhost;dbName=mysql;",'root','root');
            var_dump($pdo);
         }catch(Exception $e){
             echo $e->getMessage();
         }
         ?>
         #然後我們可以在瀏覽器訪問  localhost/mysql.php

記錄一次LNMP 環境搭建到Https配置


    【友情提醒】
    1,先安裝 nginx然後安裝php,因為在安裝php時候會自動安裝apache
    2,可以使用 sudo apt-get auroremove 軟體名 來解除安裝,然後重新安裝。
  • 安裝 phpmyadmin
sudo apt-get update

sudo apt-get install phpmyadmin

#然後按照提示內容預設進行即可。
#建立 /var/www/html/下的軟連線

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
#然後重啟nginx
sudo service nginx restart

#訪問 localhost/phpmyadmin/index.php 看是否正確
  • 配置HTTPS

1,首先在我所在的伺服器申請免費的 ssl證照,通過一系列認證之類的亂七八糟操作之後呢就開始下載證照了。

記錄一次LNMP 環境搭建到Https配置

就是這兩個檔案

記錄一次LNMP 環境搭建到Https配置

然後我在 /etc/nginx下新建了ssl資料夾用於存放證照

```
 server {
    listen 443 ssl;
    listen [::]:443;
    root /home/ubuntu/CODE/xxxx/public/;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1;mode=block";
    add_header X-Content-Type-Options "nosniff";

    charset utf-8;

    ssl on;
    ssl_certificate      /etc/nginx/ssl/public.pem;
    ssl_certificate_key   /etc/nginx/ssl/private.key;
    ssl_session_timeout  5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    index index.html index.htm  index.php;

    server_name xxx.com www.xxx.com;

    access_log /var/log/nginx/xx.access.log;
    error_log /var/log/nginx/xx.error.log;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include fastcgi_params;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;   
    }
    }
server{
   listen 80;
   server_name fantasycode.top www.fantasycode.top;
   rewrite ^(.*) https://$host$1 permanent;
}

記錄一次LNMP 環境搭建到Https配置

相關文章