之前一直習慣使用 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!large) #修改 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/php7.2-fpm.sock #修改為 listen = /var/run/php/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 apt-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
【友情提醒】
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證照,透過一系列認證之類的亂七八糟操作之後呢就開始下載證照了。
就是這兩個檔案
然後我在 /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;
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結