如果你还不会在你的服务器上安装 LNMP 环境及 Laravel 又找不到方法时,我对此流程做了非常详细的教程,点它学习:point_right: 【2020 年最新】新手从零配置 服务器的 LNMP 及 Laravel 环境 超纯净无报错 (Linux、Nginx、MySQL、PHP、Laravel)
材料准备:
aliyun Ecs
用哪个平台的都可以) Linux
系统(我用的 Ubuntu 18.04
) 20
天左右) Windows、Mac
自带的即可) SSL 证书
(没有的话也不担心,下面会教你如何申请一个免费的) FileZilla FTP 工具
(没有的话下面会教下载) 老规矩,起锅烧油
看完本章你可以学会:为什么要配置 Https、如何配置网站域名、申请 SSL 证书
、实现 Https
访问
为什么要配置 https ? 防流量劫持:HTTPS 会建立起一个防劫持的通讯加密隧道,解决中间人流量劫持的问题,不仅可以杜绝网页中显示的小广告,更可以保护用户隐私安全。 提升搜索排名:百度、谷歌官方都已做出声明会优先收录采用 HTTPS 的网站,采用 HTTPS 可以提升被搜索排名,提高站点可信度、品牌形象 杜绝钓鱼网站:HTTPS 地址栏绿色图标可以帮助用户识别出钓鱼网站,保障用户和企业的利益不受损害,增强用户信任。 复制代码
Tencent Cloud
申请免费的 SSL 证书
进入 Tencent 官方网站的控制台
右上角登录 => 登录后点击右上角控制台 => 进入控制台页面
云产品中找到 SSL 证书
二话不说,点它!!!
三话不说,申请它!!!
四话不说,确定它!!!
信息会填吧,不会填请手动删除你的服务器:heavy_plus_sign:公司辞职
接下来傻瓜无脑下一步弄完后等待申请下来就好了
申请好后 :point_down:
下载到电脑上,切上葱花,留着备用
FileZilla
连接 我们这里配置端口让 FileZilla
连接主要是用来将证书 copy
到服务器一份,觉得配置端口再下载 FileZilla
麻烦的可以去网上搜直接通过命令行将文件拷贝到 Linux 主机的方式
打开安全组配置
可以看到我对已经对 22 端口进行过设置了
没有配置的话: 右上角 => 添加安全组规则
这里也有一个教连接 FileZilla 的教程也可以看看
FileZilla
连接服务器 点此官网走起,直接找到 Quick download links 的两个大按钮,点击 Download FileZilla Client 就行,然后无脑安装并打开
Mac 右上角文件 => 站点管理 => 新建站点 => 填入 ip、端口 22、用户名、密码 => 连接
直到连接完成
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
并连接上你的服务器 :point_down:
至此,我们就通过上图的步骤将 SSL 证书
放到服务器的指定位置了
在 FileZilla 中进入此目录 :point_right: /etc/nginx/sites-available
会看到有一个文件叫 default
我们将要编辑它(还是再声明一下,如果你在这个目录找不到 default
文件,那么如果你不是按照该教程顶部推荐的我的另一篇安装 LNMP
的教程安装的配置的话那你就要找你 Nginx
的对应目录对应的配置文件了)
如果你是 Apache、IIS、Tomcat 之类的点此链接
我们打开它并编辑它,增加 :point_down:
#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; # } #} 复制代码
接下来你就可以通过 Https
来访问你的网站了,有问题的同学请在下方留言评论,有缘看到会回复
是菜鸟?没关系。想要从零学会如何在你的服务器上配置 LNMP 环境及 Laravel,我对此流程做了非常详细的教程,点它学习:point_right: 【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!