ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

CentOS7 服务器部署服务(nginx, Docker, MySQL, Joplin)

2022-05-21 14:32:55  阅读:166  来源: 互联网

标签:配置 使用 CentOS7 nginx 文档 MySQL Docker 安装


CentOS7 服务器部署服务(nginx, Docker, MySQL, Joplin)

前言

最近腾讯云的服务器快到期了,又以学生身份续费 1 年。

最初是大四部署毕业设计时用的,当时用了“最好的语言”—— PHP写了后台、Java 写了 socket 通信的服务端。还记得当时由于 php7 出没多久,与之前相比连接 MySQL 的库变了,版本的问题还折腾了好久。时间过得好快,转眼都要毕业四年了。。。

也许是装的东西太多太杂,而且“理念没有搞懂”,都是根据教程亦步亦趋,现在看来乱糟糟的,想装个 nginx 都各种报错。于是备份了既有数据,在控制台上重装系统!

本文只是基础的安装与使用,以满足本人的使用需要为最终目标,仅表述自己的理解,而不会深入细节。

0. 换源

之所以放在这里不是因为序号从0开始,而是因为我忘记了23333。。。参考了一些教程后我发现,腾讯云服务器的 CentOS 源重装后就已经换成腾讯云自家的了:

如果需要自己换源,可以参考腾讯云软件源的官方文档。主要思路是:备份原文件重新下载“源”文件更新缓存

1. 安装 nginx

(由于之前已经申请了 SSL 证书,因此也会配置好 https 访问)

这里需要说明一下的是,Linux 发行版中软件的安装通常有两种方式:

(1)从源码安装

这种方式的优势在于可以获得较新的软件版本,但需要首先安装匹配的工具链编译源代码,如果有依赖的其它组件需要自行安装,后续配置的步骤(及卸载)较为复杂,版本升级有可能比较困难。

(2)从包管理器安装(如 yum, apt, dnf)

相比之下,这种方式的优势在于可以自行探查并解决依赖问题,安装卸载比较方便,基本都是几行命令搞定。但版本一般会比最新版本落后一些。

这里采用的是第二种方式。查看官方的文档,点击 RHEL/CentOS 即可查看针对我们系统的安装方法了。主要的思路是:设置 ngnix 的 yum 仓库后使用 yum install 安装。

之后是配置 SSL 证书了。官方也给出了示例,对应编辑 /etc/nginx/nginx.conf 或者在 /etc/nginx/conf.d 中添加配置文件 即可(很多程序都会有类似的 conf.d 文件夹,并且会在主配置文件中引入文件夹中的子配置文件,这样可以将不同类别的配置放在不同的文件中,逻辑比较清晰)。需要注意的是,SSL 证书和域名有关,因此需要将 www.example.com 配置为实际的域名。需要将 ssl_certificate 一项配置为 /<YOUR_OWN_PATH>/www.example.com.pem。

最终 sever 中的配置项为:

填写后配置后,可以使用 nginx -t 命令校验配置文件是否正确,显示正确后使用 systemctl restart nginx 命令重启 nginx 服务即可。

访问效果:

不要忘记将备案号添加至网页底部备查XD

2. 安装 Docker

参考 Docker 的官方文档即可。需要换源则可编辑(不存在则新建) /etc/docker/daemon.json,向其中添加(中科大源):

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

最后使用 systemctl restart docker 即可生效。

不得不说,Docker 是真的方便,几行命令就能让软件运行起来,大大简化了开发环境的软件的安装和繁琐配置。

3. 使用 Docker 安装 Joplin Sever

Joplin 是一款不错的笔记软件,而且是开源的,支持多平台。在外面忽然来了灵感,就可以记录到手机上,同步至服务器,随后可以用电脑上查看。同时官方也提供了 服务器的 Docker 镜像,可以自行部署该服务,可以说是应用尽有了。小老板,这不盘它一波?!

如果要使用官方的 Docker 镜像,可以在 Dockerhub 中搜索到对应的镜像,选择要使用的版本,了解使用方法。我们也找到了 Joplin Sever 的镜像信息。我们只需要搭建起服务即可,不需要配置额外的数据库,也不需要配置反向代理。启动命令为:

docker run -itd -e "APP_BASE_URL=http://<YOUR_HOST_NAME>:22300" -e "APP_PORT=22300" -p 22300:22300 joplin/server:latest

文档上的 APP_BASE_URL 变量不带端口号,可能是需要后续配置反向代理,实测要带端口号才能访问。默认的用户名 为 admin@localhost,密码 为 admin。

在客户端中对应配置即可:

(如果在本地已经有一些文档了,可以点击 显示高级选项 - 重新上传本地数据到同步目标 上传即可)

4. 使用 Docker 安装 MySQL

这个好像之前的博客里已经写过了。所处的地位不同,看问题的方式就会不同。当时更像是为了装上去而不是用好它,因此编码时区等问题都没有在意,这里再次给出比较实用的启动命令吧:

docker run -e "MYSQL_ROOT_PASSWORD=<YOUR_StRong_PASSWD>" -e "TZ=Asia/Shanghai" -p 3306:3306 -d mysql:<TAG> --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

注意使用 -e TZ="Asia/Shanghai"指定时区使用 --character-set-server=utf8mb4 指定编码使用 --collation-server=utf8mb4_unicode_ci 指定规则

后记

官方的文档作为首要的参考这是没什么问题,但是《孟子》有云,尽信书不如无书。还是要先搞懂理念,根据自己的情况灵活应对。国内的博客很多也是来自实战,也是很好的来源!

其它参考

nginx的几个默认路径
Nginx配置Https
Docker更换国内镜像源
Docker部署Mysql常见问题总结

标签:配置,使用,CentOS7,nginx,文档,MySQL,Docker,安装
来源: https://www.cnblogs.com/battor/p/centos7_server_deploy.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有