若是你還不會在你的服務器上安裝 LNMP 環境及 Laravel 又找不到方法時,我對此流程作了很是詳細的教程,點它學習👉【2020 年最新】新手從零配置 服務器的 LNMP 及 Laravel 環境 超純淨無報錯 (Linux、Nginx、MySQL、PHP、Laravel)php
材料準備:html
aliyun Ecs
用哪一個平臺的均可以)Linux
系統(我用的 Ubuntu 18.04
)20
天左右)Windows、Mac
自帶的便可)SSL 證書
(沒有的話也不擔憂,下面會教你如何申請一個免費的)FileZilla FTP 工具
(沒有的話下面會教下載)老規矩,起鍋燒油nginx
看完本章你能夠學會:爲何要配置 Https、如何配置網站域名、如何在你購買的雲平臺配置域名解析、申請 SSL 證書
、實現 Https
訪問web
爲何要配置 https ?
防流量劫持:HTTPS 會創建起一個防劫持的通信加密隧道,解決中間人流量劫持的問題,不只能夠杜絕網頁中顯示的小廣告,更能夠保護用戶隱私安全。
提高搜索排名:百度、谷歌官方都已作出聲明會優先收錄採用 HTTPS 的網站,採用 HTTPS 能夠提高被搜索排名,提升站點可信度、品牌形象
杜絕釣魚網站:HTTPS 地址欄綠色圖標能夠幫助用戶識別出釣魚網站,保障用戶和企業的利益不受損害,加強用戶信任。
複製代碼
Tencent Cloud
申請免費的 SSL 證書
右上角登陸 => 登陸後點擊右上角控制檯 => 進入控制檯頁面bash
雲產品中找到 SSL 證書
服務器
二話不說,點它!!!session
三話不說,申請它!!!php7
四話不說,肯定它!!!socket
信息會填吧,不會填請手動刪除你的服務器➕公司辭職
接下來傻瓜無腦下一步弄完後等待申請下來就行了
申請好後 👇
下載到電腦上,切上蔥花,留着備用
FileZilla
鏈接咱們這裏配置端口讓 FileZilla
鏈接主要是用來將證書 copy
到服務器一份,以爲配置端口再下載 FileZilla
麻煩的能夠去網上搜直接經過命令行將文件拷貝到 Linux 主機的方式
打開安全組配置
能夠看到我對已經對 22 端口進行過設置了
沒有配置的話:右上角 => 添加安全組規則
FileZilla
鏈接服務器點此官網走起,直接找到 Quick download links 的兩個大按鈕,點擊 Download FileZilla Client 就行,下載你對應系統的版本,而後無腦安裝並打開
Mac 右上角文件 => 站點管理 => 新建站點 => 填入 ip、端口 2二、用戶名、密碼 => 鏈接
直到鏈接完成
SSL 證書
拷貝到服務器你從 Tencent Cloud 下載的 SSL 證書包中會包含以下文件:
Apache、IIS、Nginx、Tomcat、www.xxx.xxx.csr
這裏由於咱們是 Nginx 環境,因此固然是用 Nginx 咯
複製代碼
咱們安裝的 Nginx
通常都是在服務器的 /etc/nginx/
目錄中特別是根據本教程最頂部的我另一篇博客描述 LNMP
的安裝作的同窗,若是你的不是,請找到你的 Nginx
安裝目錄
接下來咱們要將下載來的 SSL 證書
的 Nginx
文件夾下的兩個文件 1_www.xxx.xxx_bundle.crt
2_www.xxx.xxx.key
都經過 FileZilla
拷貝到服務器的 /etc/nginx
目錄下,下面是步驟,先打開 FileZilla
並鏈接上你的服務器 👇
至此,咱們就經過上圖的步驟將 SSL 證書
放到服務器的指定位置了
在 FileZilla 中進入此目錄 👉 /etc/nginx/sites-available
會看到有一個文件叫 default
咱們將要編輯它(仍是再聲明一下,若是你在這個目錄找不到 default
文件,那麼若是你不是按照該教程頂部推薦的個人另外一篇安裝 LNMP
的教程安裝的配置的話那你就要找你 Nginx
的對應目錄對應的配置文件了)
若是你是 Apache、IIS、Tomcat 之類的點此連接
咱們打開它並編輯它(下面有完整文件內容展現),增長 👇
#SSL 訪問端口號爲 443
listen 443;
ssl on;
#填寫綁定證書的域名
server_name www.xxx.xxx;
#證書、私鑰文件就是你拷貝到 /etc/nginx 目錄下的那兩個文件
#證書文件名稱
ssl_certificate 1_www.xxx.xxx_bundle.crt;
#私鑰文件名稱
ssl_certificate_key 2_www.xxx.xxx.key;
ssl_session_timeout 5m;
#請按照如下協議配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#請按照如下套件配置,配置加密套件,寫法遵循 openssl 標準。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#注意:因爲版本問題,配置文件可能存在不一樣的寫法。例如:Nginx 版本爲 nginx/1.15.0 以上請使用一行 listen 443 ssl 代替上面的 listen 443 和 ssl on。
#能夠經過 nginx -v 查看你的版本
複製代碼
ok,保存並關閉,FileZilla
會提示是否回傳到服務器,肯定,這樣就配置完成了
// 命令行重啓 nginx
service nginx restart
// 命令行運行測試來測試配置是否正確
nginx -t
// 輸出了
// nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
// nginx: configuration file /etc/nginx/nginx.conf test is successful
// 各類 ok、successful 表示配置成功
複製代碼
給你們看一下個人整個 default
文件的配置,固然你能夠去我最頂部推薦的另外一片博客中看我配置前是什麼樣的
server {
listen 80 default_server;
listen [::]:80 default_server;
#SSL 訪問端口號爲 443
listen 443;
ssl on;
#填寫綁定證書的域名
server_name www.surko.xyz;
#證書文件名稱
ssl_certificate 1_www.surko.xyz_bundle.crt;
#私鑰文件名稱
ssl_certificate_key 2_www.surko.xyz.key;
ssl_session_timeout 5m;
#請按照如下協議配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#請按照如下套件配置,配置加密套件,寫法遵循 openssl 標準。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#location / {
# #網站主頁路徑。此路徑僅供參考,具體請您按照實際目錄操做。
# root /var/www/Laravel60/public;
# index index.php index.html index.htm;
#}
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/Laravel60/public;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?$query_string;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
複製代碼
爲何要配置域名解析,通俗講就是把你的域名和你的 IP
地址進行綁定,綁定了以後域名就知道該進哪一個 IP
的服務器了
首先,進入你的雲控制檯(我這裏用的是 aliyun)
aliyun 控制檯 => 域名 => 域名解析 => 添加配置配置相應內容
複製代碼
點擊肯定,就配置好了
接下來你就能夠經過 Https
來訪問你的網站了,有問題的同窗請在下方留言評論,有緣看到會回覆
是菜鳥?不要緊。想要從零學會如何在你的服務器上配置 LNMP 環境及 Laravel,我對此流程作了很是詳細的教程,點它學習👉【2020 年最新】新手從零配置 服務器的 LNMP 及 Laravel 環境 超純淨無報錯 (Linux、Nginx、MySQL、PHP、Laravel)
寫做不易,很少說了,手指頭還在的就點贊吧!
It's not easy to write. If the finger is still on your hand, Please tap the like button on the website.
Thank you!