个人网站搭建 服务器http切换到https 网站协议切换到https

这篇具有很好参考价值的文章主要介绍了个人网站搭建 服务器http切换到https 网站协议切换到https。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景和引言

博主自行搭建一个个人网站,国内的服务器和域名都要实名或者备案,觉得太麻烦了;于是用的是国外的,用的是知速云+cf。写这篇文章主要是想记录一下几天踩过的坑,帮助大家更快搭建好自己的网站。(同时也方便自己日后回顾)

MySQL安装

推荐通过docker进行安装,方便管理。

安装Docker

1)yum 包更新到最新

sudo yum update

(2)安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(3)设置yum源为阿里云

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(4)安装docker

sudo yum install docker-ce

(5)安装后查看docker版本

docker -v

启动docker

systemctl start docker
有些linux版本会报错,使用service docker start

安装MySQL镜像

拉取镜像

docker pull mysql:5.7

这里以5.7版本为例,因为我的就是安装的5.7,如需安装最新版本,可使用以下命令

docker pull mysql:latest

安装成功后,就开始运行。这里有很大的学问,不建议您使用mysql默认的端口,这样子很容易被别人暴力破解,然后向你索要比特币

创建容器,设置端口映射、目录映射
docker run -di --name=c_mysql -p 3333:3306 -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

别直接复制!自顶一下端口号和密码,其他都可以不改!

  • 参数说明:
    • -p 3333:3306:将容器的 3306 端口映射到宿主机的 3333 端口。(navicat连接的时候,就通过3333端口连接)
    • -v /root/mysql/logs:/logs:将主机目录(/root/mysql)下的 logs 目录挂载到容器中的 /logs。日志目录
    • -v /root/mysql/data:/var/lib/mysql :将主机目录(/root/mysql)下的data目录挂载到容器的 /var/lib/mysql 。数据目录
    • **-e MYSQL_ROOT_PASSWORD=123456:**初始化 root 用户的密码。
进入容器,操作mysql
docker exec –it 容器id /bin/bash

安装JDK

我们在 user 目录下建立一个新的 java文件夹,用来存放 JDK文件。

cd /usr/
mkdir java
cd java

之后我们准备开始下载 JDK1.8。

为了省事,这里我们给出下载好的 jdk1.8的百度云链接。链接里面有一个 tar包,一个 rpm包。任选一个下载即可,具体的操作方法后面都会说明。

tar包是打包好的压缩包,解压就行
rpm包是安装包,需要安装

链接:https://pan.baidu.com/s/1lhJYRfjtpoUPFORMPUnIHg 
提取码:404k

因为是外网,网速属实是一言难尽。我们还是推荐使用刚才的百度云链接下载。

如果是服务器,文件下载完成后,使用 WinSCP软件将 tar包或者 rpm包上传到自己的服务器。如果不会使用 WinSCP,请参考这篇博客 使用WinSCP上传文件到指定服务器
如果是虚拟机,可以通过共享文件等方式将文件共享到虚拟机,或者配置远程连接,再使用 WinSCP等软件上传文件到虚拟机。如果不会配置远程连接的,请参考这篇博客 虚拟机CentOS7设置远程连接
文件的位置就放在刚才建立好的 java文件夹,接下来我们开始安装jdk。

// tar包进行解压
tar -zxvf jdk-8u241-linux-x64.tar.gz

// rpm包进行安装
rpm ivh jdk-8u241-linux-x64.rpm

配置环境变量

JDK1.8已经安装完成,最后一步工作就是配置环境变量了。

Linux系统下配置环境变量有很多种方法,我们只需要选择其中一种即可。这里我们选择修改系统配置的文件 /etc/profile。

如果/etc/profile文件不可编辑,我们需要先修改其为可编辑才行

sudo chmod -v u+w /etc/profile

我们使用 Linux自带的输 vim编辑器来进行编辑。输入命令

vim /etc/profile

将如下配置添加至文件中。输入命令

export JAVA_HOME=/usr/java/jdk1.8.0_241
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

配置添加完成后,按 “Esc”键,输入 “:wq”,就可以保存文件并返回了。

验证是否安装成功
java
javac
java -version

项目打包到服务器

我这里的项目是SpringBoot,在IDEA的命令窗口中运行:

mvn clean package

就可以得到可以运行的jar包了。(在target目录中)
然后再通过ftp软件将jar包上传到服务器即可。

运行jar包

nohup java -jar 对应名称.jar >temp.txt 2>&1 &

会将相关日志输出到temp.txt中,方便查看。

Nginx安装

这边推荐通过wget的形式安装,当时看的一篇文章介绍了4种方式,结果折腾了半天都无法正常运行。(一开始是通过yum安装,搞了好久都没成功,卸载后,又通过其他方式进行安装)

//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

手动创建用户和用户组

groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M
下载并解压安装包
cd /usr/local
mkdir nginx
cd nginx
//下载tar包
wget http://nginx.org/download/nginx-1.20.2.tar.gz
tar -xvf nginx-1.20.2.tar.gz
安装nginx
//进入目录
cd nginx-1.20.2
//执行命令
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx
//执行make命令
make
//执行make install命令
make install
修改环境变量
vim /etc/profile

添加到尾部

export PATH=$PATH:$NGINX_HOME/sbin     # 注意这里,不要直接复制,而是将:$NGINX_HOME/sbin 之前命令的后面!
export NGINX_HOME=/usr/local/nginx/nginx-1.20.2

重新加载环境变量

source /etc/profile

修改配置服务文件

vi /lib/systemd/system/nginx.service

配置信息

[Unit]
Description=nginx 
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target

创建服务

systemctl enable nginx.service

测试

浏览器输入ip地址,看看是否进入nginx首页

一些常见的Nginx命令

systemctl start nginx	#启动nginx
systemctl stop nginx	#关闭nginx
systemctl restart nginx	#重启nginx
systemctl reload nginx	#重新加载nginx配置文件
systemctl enable nginx	#开机自启

域名+https

这边踩坑很严重,弄了好几天才完成。当时域名是再cf上买的,然后就顺带用上了它们的cdn功能,但是国内访问真的一言难尽,如果访问的用户是国内的话,我的评价是:真的不如不用!!!当时花了一天的时间去搜索如何解决,后面真的放弃了。

HTTPS

这边推荐使用certbot。 安装起来算是最简单的了。

通过certbot实现https

前提:你的网站现在通过域名可以正常访问。(certbot会自动证书和密钥并且帮我们修改nginx配置文件内容)

安装 EPEL

yum -y install epel-release
yum install python2-certbot-nginx

安装完毕后,运行

certbot --nginx
# 如果没有配置nginx的环境变量可能会报错:
# Saving debug log to /var/log/letsencrypt/letsencrypt.log
#  Error while running nginx -c /etc/nginx/nginx.conf -t.
# 那么我们就自己指定nginx的运行目录:certbot --nginx --nginx-server-root=nginx配置文件对应的目录

命令执行后首先会提示输入一个邮箱地址,主要作用是订阅一些通知,输入后回车。

[root@izuf6fco0zwyipdq9485s2z ~]# certbot --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx

▽
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): demo@mail.com // 演示邮箱
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org

回车后 Certbot 就会自动请求下载 Let’s Encrypt 证书,并设置 Nginx 配置文件。期间会有一些同意相关协议和选择哪个网站配置的交互,这个看输出文字就能明白意思。

Cleaning up challenges
Deploying Certificate to VirtualHost:  //这边会显示你的网站配置文件目录

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting all traffic on port 80 to ssl in //这边会显示你的网站配置文件目录

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://kisstime.top

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=kisstime.top
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   .../fullchain.pem
   Your key file has been saved at:
   .../privkey.pem
   Your cert will expire on 2019-02-14. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

接着命令交互会提示是否将所有 HTTP 重定向到 HTTPS,我这边选择全部重定向也就是「2」。
OK,当完成上面最后一步后,输入如上信息后就表明 HTTPS 配置成功了!我们可以通过提示中的 SSL Server Test 网址来测试网站是否能够 HTTPS 来进行访问

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=kisstime.top

引用

1.Linux系统安装JDK1.8 详细流程
2.通过 Certbot 安装 Let’s Encrypt 证书,来实现全站的 HTTPS 访问文章来源地址https://www.toymoban.com/news/detail-796475.html

到了这里,关于个人网站搭建 服务器http切换到https 网站协议切换到https的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】Centos 8 服务器部署:阿里云域名注册、域名解析、个人网站 ICP 备案详细教程

    目录 一、背景信息 二、操作步骤 (1)查询域名  (2)加入域名清单 (3)确认订单信息 (4)支付  (5)等待域名实名认证通过 三、域名注册成功 四、查看域名注册信息 五、申请免费的 SSL 证书  (1)上传 SSL 证书到服务器  (2)申请证书过程本地保存的信息  六、域名

    2024年01月18日
    浏览(54)
  • 【Github搭建网站】零基础零成本搭建个人Web网站~

    Github网站: https://github.com/ 这是我个人搭建的网站:https://xf2001.github.io/xf/ 大家可以搭建完后发评论区看看!!!   搭建教程: https://www.bilibili.com/video/BV1xc41147Vb/?spm_id_from=333.999.0.0vd_source=98bce7df38ecc1f989aee3edccd2f24e   目录 第一步:创建一个新的仓库 第二步:上传网站文件 第三

    2024年01月20日
    浏览(79)
  • 六步快速搭建个人网站

    目录 第一步、选择搭建平台WordPress 第二步、选域名 1)域名在哪买? 2)域名怎么选? 3)以阿里云为例,讲解怎么买域名 第三步、选择服务器 第四步、申请主机、安装WordPress 第五步、选择WordPress模板 1. Blocksy(免费) 2. Astra(免费) 3. Kadence(免费) 第六步、安装WordPres

    2024年02月08日
    浏览(53)
  • wordpress我的个人网站搭建

    WordPress是一个功能强大且易于使用的网站管理平台。它是基于PHP和MySQL构建的,可以在各种不同的主机上运行。 需求 最低版本要求 PHP 7.4 或更高版本 MySQL 5.6 或更高版本 Web服务器 任意(如:Apache、Nginx) 存储空间 足够存储数据的空间 带宽 足够的数据传输带宽 内存 至少51

    2024年02月15日
    浏览(49)
  • 学生使用腾讯云搭建个人网站

    本篇文章作者手把手带你从服务器的选购到搭建成功一个ip网站的成功访问。 准备好了吗,发车了。 咱们的第一步就是 搞到一个服务器 文章所使用的是2核2g4M得服务器 搭建服务器是够够滴 https://cloud.tencent.com/act/cps/redirect?redirect=2446cps_key=f0552e9eadafced33d3c20de84094b4bfrom=console 优

    2024年02月11日
    浏览(45)
  • 基于Hugo 搭建个人博客网站

    目录 1.环境搭建 2.生成博客 3.设置主题 4.将博客部署到github上 1)安装Homebrew brew是一个在 macOS 操作系统上用于管理软件包的包管理器。类似于centos下的yum或者ubuntu下的apt,它允许用户通过命令行安装、更新和管理各种软件工具、库和应用程序。 前往hb官网,复制下载命令,打

    2024年02月09日
    浏览(53)
  • 10分钟搭建一个免费个人博客网站

    准备工作 有Gitee账号 有安装git 会 markdown 编写文档 Node.js 版本 = 8.6 博客采用VuePress搭建,Gitee部署,接下来,5步搞定。 1.创建项目 创建项目目录,并初始化项目,安装VuePress 2. 创建目录结构 3.完成基础配置 配置主题,定义自己的导航栏 配置首页 在 myblog/package.json 中添加一些

    2024年02月09日
    浏览(59)
  • 如何从0到1搭建一个个人网站

    如何从0到1搭建一个可以外网访问的项目 ? 我就用自己的服务器给大家举例,怎么从0到1搭建一个学生和新手可以用来面试的项目,老手也可以回忆一下自己逝去的青春。 服务器在激活的时候会让你选系统,这个时候敖丙我个人建议, 有点基础 已经 熟悉安装过程和环境配置

    2024年02月02日
    浏览(40)
  • 使用 Nginx 搭建个人网站的详细教程

    目录 简介 环境准备 步骤一:安装 Nginx 步骤二:配置 Nginx 步骤三:编写网站文件 步骤四:访问您的网站 高级设置 使用 HTTPS 加密 安装 Certbot 获取 SSL 证书 配置 Nginx 启用 HTTPS 配置虚拟主机 防止 DDoS 攻击 限制请求速率 限制连接速率 总结 Nginx 是一个高性能的 Web 服务器软件,

    2024年02月04日
    浏览(44)
  • 怎么样零代码零成本搭建个人网站?

    为了避免有标题党的嫌疑,这里先做申明。 标题中说的 零代码 指的是借助 VuePress 通过简单配置,帮助我们生成静态网站。 零成本 指的是借助 GitHub Pages 或者 Gitee Pages 部署 VuePress 生成的静态网站。让互联网上的小伙伴访问到我们的个人网站。 这些都不需要我们写一行代码

    2024年04月22日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包