云服务器搭建个人站点-之-站点搭建
个人云服务器的用处背景现状目的环境说明安装docker 安装docker 安装安装docker-compose网盘部署博客部署jenkins部署站点部署数据库安装网页代理服务器安装背景2021年11月一时冲动,采购了一台云服务器,采购之初安装了Centos8 操作系统,基本就是登录执行一些简单的脚本命令,作为一个测试的机器使用,跟本机上安装了一台虚拟机的用途类似,到后来本人电脑安装linux系统后
背景
2021年11月一时冲动,采购了一台云服务器,采购之初安装了Centos8 操作系统,基本就是登录执行一些简单的脚本命令,作为一个测试的机器使用,跟本机上安装了一台虚拟机的用途类似,到后来本人电脑安装linux系统后,奈何一些linux上的不能使用的软件,随即将云服务器安装了一个windows 2018操作系统。作为配合使用,后面本机虚拟机中安装windows 7 和windows2008 并行了一段时间,感觉虚拟机中的windows7基本可以满足使用,想着将云服务器发挥其更大点的用处。怎么让其发挥出作用?学以致用,是个前提。
现状
个人开发出自己需要的应用并部署到云服务器上是理想的方案,但是从时间成本和精力上需要一定的投入,产出比没有具体的量化指标。手里有一台采购的云服务器和一个域名,采用开源的博客和网盘方案,在云服务器上搭建。
目的
云服务器希望从个人层面达到四个用途
项目 | 用途 | 访问方式 |
---|---|---|
个人站点 | 展示主站点 | 使用主域名进行访问 |
博客 | 个人发布文章使用 | 采用二级域名进行跳转 |
网盘 | 存储个人常用软件 | 采用二级域名进行访问 |
jenkins服务器 | devops中间服务器 | 采用二级域名进行访问 |
环境说明
项目 | 版本 | 说明 |
---|---|---|
操作系统 | Centos7 | 服务器操作系统 |
博客 | Ghost4.32.0 | 开源博客平台 |
网盘 | seafile | 开源网盘 |
数据库 | mysql5.7.34 | 网盘和博客使用数据库 |
网页服务器 | nginx1.21.5 | 网页代理服务器 |
安装
云服务器,安装方式采用在线yum安装为主。
docker 安装
docker 安装
使用脚本安装
vi /root/centos_yum_install_docker.sh
#!/bin/bash
# 查看内核版本
uname -r
# 更新系统
yum update -y
# 卸载旧版本
yum remove docker docker-common docker-selinux docker-engine
# 安装依赖软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 查看docker版本
yum list docker-ce --showduplicates | sort -r
# 安装docker
yum install docker-ce -y
# 启动docker
systemctl start docker
# 设置开机启动
systemctl enable docker
# 获取UID=1000的用户名
user_name=$(getent passwd 1000|awk -F : '{print $1}')
# 添加至docker组
gpasswd -a $user_name docker
# 更新用户组
newgrp docker
# 验证安装
docker version
# 输出
echo "Complete!"
修改脚本可执行权限
# chmod +x /root/centos_yum_install_docker.sh
执行脚本
# cd /root
# ./centos_yum_install_docker.sh
安装docker-compose
vi /home/docker_compose_install.sh
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
修改脚本可执行权限
# chmod +x /root/docker_compose_install.sh
执行脚本
cd /root
./docker_compose_install.sh
执行完毕弹出docker-compose版本为安装成功。
网盘部署
下载编排文件
编辑编排文件
version: '2.0'
services:
db:
image: mariadb:10.5
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=db_dev # Requested, set the root's password of MySQL service.
- MYSQL_LOG_CONSOLE=true
volumes:
- /opt/seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
networks:
- seafile-net
memcached:
image: memcached:1.5.6
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
ports:
- "80:80"
# - "443:443" # If https is enabled, cancel the comment.
volumes:
- /opt/seafile-data:/shared # Requested, specifies the path to Seafile data persistent store.
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=db_dev # Requested, the value shuold be root's password of MySQL service.
# - TIME_ZONE=Asia/Shanghai # Optional, default is UTC. Should be uncomment and set to your local time zone.
- SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'.
- SEAFILE_ADMIN_PASSWORD=asecret # Specifies Seafile admin password, default is 'asecret'.
- SEAFILE_SERVER_LETSENCRYPT=false # Whether use letsencrypt to generate cert.
- SEAFILE_SERVER_HOSTNAME=seafile.example.com # Specifies your host name.
depends_on:
- db
- memcached
networks:
- seafile-net
networks:
seafile-net:
修改如下配置项
- MySQL root 用户的密码 (MYSQL_ROOT_PASSWORD and DB_ROOT_PASSWD)
- 持久化存储 MySQL 数据的 volumes 目录 (volumes)
- 持久化存储 Seafile 数据的 volumes 目录 (volumes)
- 用户名SEAFILE_ADMIN_EMAIL和密码SEAFILE_ADMIN_PASSWORD
启动
docker-compose up -d
浏览器访问
博客部署
创建目录
version: '3.1'
services:
ghost:
image: ghost:4-alpine
restart: always
ports:
- 8080:2368
environment:
# see https://ghost.org/docs/config/#configuration-options
database__client: mysql
database__connection__host: db
database__connection__user: root
database__connection__password: example
database__connection__database: ghost
# this url value is just an example, and is likely wrong for your environment!
url: http://localhost:8080
# contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired)
#NODE_ENV: development
db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
启动
docker-compose up -d
浏览器中输入http://ip:8080
设置
浏览器中输入http://ip:8080/ghost
创建账号
输入标题、用户名、email和密码
邮件验证
进入后台首页
登录后台可以对博客页面进行设置和发布文章。
jenkins部署
1、制作编排文件
vim /home/shalter/jenkins/docker-compose.yml
version: '3'
services:
jenkins:
image: 'jenkinsci/blueocean'
container_name: jenkins
restart: always
ports:
- '8099:8080'
- '50000:50000'
volumes:
- '/data/jenkins_home:/var/jenkins_home'
2、创建数据持久化目录
mkdir -p /data/jenkins_home
chown -R 1000:1000 /data/junkins_home
3、运行
docker-compose up -d
4、查看密码
cat /var/jenkins_home/secrets/initialAdminPassword
首次登录需要使用该密码登录
5、登录设置
电脑浏览器中输入http://IP:8099
将密码拷贝至管理员密码框中
插件安装
悬着推荐插件安装
创建管理员账号
配置完成
重启服务
登录后界面
网页代理服务器安装
网页代理服务器主要为nginx,主要作用为设在主域名和二级域名设置使用。
1、脚本编制
vim /home/shalter/nginx/docker-compose.yml
version: '3'
services:
image: nginx
restart: always
volumes:
- /data/ningx/conf/nginx.conf:/etc/nginx/nginx.conf
- /data/nginx/site:/usr/share/nginx/html
- /data/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
- /data/ngins/logs:/var/log/nginx
ports:
- "8080:80"
environment:
- NGINX_HOST=jjyard.xyz
- NGINX_PORT=80
站点部署
站点为静态页面,在本篇就不做介绍了,
将站点程序部署至/data/nginx/site
目录下,重启nginx
本篇为站点的部署,下一篇《云服务器搭建个人站点-之-访问控制》中继续讲解通过设置二级域名,然后通过域名访问各个对应的站点。完善个人站点的访问。
更多推荐
所有评论(0)