一、域名访问

前提:

  • 确保域名已经成功解析到服务器IP,并确认服务器是否需要备案
  • 检查服务器上的80、443
  • 这里不需要开放8090,因为通过NGINX反向代理,会由本机向本地的8090访问

域名解析

比如我之前的域名:www.wmxyshop.com

我们ping完域名后,返回的IP地址就是服务器的IP地址,那么域名解析完成了!

halo6.png

开放端口

在阿里云实例列表-更多-网络和安全组-安全组设置-配置防火墙规则

入方向更改规则,允许任何IP访问服务器的80、443端口

halo7.png

安装nginx

在安装nginx之前,先简单的了解nginx,nginx是www服务所需要的服务程序,nginx常用功能包括:反向代理、负载均衡等等,我们这里采用nginx的主要目的就是用于反向代理。

什么是反向代理呢?Nginx 服务器作为 WEB 服务器的主要功能之一,客户端向服务器发送请求时,会首先经过 Nginx 服务器,由服务器将请求分发到相应的 WEB 服务器。正向代理是代理客户端,而反向代理则是代理服务器,Nginx 在提供反向代理服务方面,通过使用正则表达式进行相关配置,采取不同的转发策略,配置相当灵活,而且在配置后端转发请求时,完全不用关心网络环境如何,可以指定任意的IP地址和端口号,或其他类型的连接、请求等。所以重点来了,我们这里是将客户端对80和443端口的请求转发至服务器本地的8090端口!让用户访问80或者443时,请求会被服务器自动的发送至8090,也就是halo的服务端口!

tips:想要做到反向代理,需要看下面的内容!

安装nginx

apt-get install nginx -y

开机自启nginx

systemctl enable nginx

查看nginx运行状态

service nginx status

检查配置文件是否正常

nginx -t

浏览器输入:“http://服务器IP地址” ,出现此页面表示nginx运行正常
halo8.png

配置nginx域名访问

修改nginx虚拟主机配置文件

cd /etc/nginx/sites-available/default
修改内容如下:
server {
	#监听80端口
        listen 80 ;
	#网站根目录
        root /var/www/html;
	#索引文件寻找顺序
        index index.html index.htm index.nginx-debian.html;
	#主机名配置
        server_name wmxyshop.com www.wmxyshop.com;
        location / {
		#尝试寻找索引文件及返回结果
                try_files $uri $uri/ =404;
        }
}

tips:部分朋友配置nginx.conf,也是可以的

检查配置是否错误

nginx -t

重载nginx配置

nginx -s reload

通过域名访问到nginx初始页面,则配置正确!

halo9.png

二、配置SSL证书

配置SSL证书的目的就是加强网站的安全性!强烈建议配置该部分,关于SSL证书的申请可以去阿里云SSL证书控制台申请免费的赛门铁克证书!

上传SSL证书到服务器

scp /mnt/g/下载/www.wmxyshop.com.pem root@114.55.93.209:/root
scp /mnt/g/下载/www.wmxyshop.com.key root@114.55.93.209:/root

将证书放入指定的目录中

mv www.wmxyshop.com.pem /etc/ssl/certs/www.wmxyshop.com.pem
mv www.wmxyshop.com.key /etc/ssl/private/www.wmxyshop.com.key

修改nginx虚拟主机配置文件

cd /etc/nginx/sites-available/default
添加内容如下:
server {
	#监听443端口
        listen 443 ssl;
        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;
        server_name wmxyshop.com wwww.wmxychop.com;
	#后跟pem证书文件绝对路径
        ssl_certificate /etc/ssl/certs/www.wmxyshop.com.pem;
	#后跟key证书文件绝对路径
        ssl_certificate_key/etc/ssl/private/www.wmxyshop.com.key;

}

检查配置是否错误

nginx -t

重载nginx配置

nginx -s reload

浏览器访问:“https://www.wmxyshop.com” ,出现nginx页面

halo10.png

三、nginx反向代理

修改nginx虚拟主机配置文件

cd /etc/nginx/sites-available/default
修改内容如下:
server {
        listen 80 ;
        root /var/www/html;
        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html
        server_name wmxyshop.com www.wmxyshop.com;

        location / {
	#header添加请求host信息
	proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
	#header添加请求来源IP信息
        proxy_set_header X-Real-IP $remote_addr;
	#增加代理记录
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	#服务器访问本机8090端口
        proxy_pass http://127.0.0.1:8090/;
}
	#重定向至https访问
        rewrite ^(.*) https://$host$1 permanent;
}
server {
        listen 443 ssl;
        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;
        server_name wmxyshop.com wwww.wmxychop.com;
        ssl_certificate /etc/ssl/certs/www.wmxyshop.com.pem;
        ssl_certificate_key /etc/ssl/private/www.wmxyshop.com.key;

        location / {
proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8090/;
}
}

tips:上面的配置就是包含了域名访问、SSL证书部署、反向代理的所有配置了!可以跳过以上步骤,直接参考该配置中的所有内容!

浏览器访问:“www.wmxyshop.com” ,出现halo博客初始化则配置正确,到此halo部署完成,开始博客初始化!

文章更新时间:2020/3/28


保持一个积极向上的良好心态,分享网络技术!