搭建web服务器,mysql服务器和ansible服务器

一、部署网站

1.上传网站源码到web服务器

方法一:利用xftp工具直接将源码从电脑拖到web服务器中

拖过去后可以在ls查看是非上传成功

方法二:使用lrzsz工具

rz 接受文件:linux接受从windows里传输过来的文件 receive

sz 发送文件  linux发送文件到windows  send

[root@web-1 yum.repos.d]# yum install lrzsz  -y       下载lrzsz

[root@web-1 yum.repos.d]# sz Centos-7.repo     发送文件到Centos-7.repo文件夹

2.运行网站源码使其可以访问

2.1创建网站服务文件并解压网站源码

[root@web-1 ~]# mkdir  /web        新建web文件夹

[root@web-1 ~]# ls        查看root目录下的文件

anaconda-ks.cfg  Centos-7.repo  go+html+mysql+redis.zip  init_env.sh  pos_var.sh

[root@web-1 ~]# cp   go+html+mysql+redis.zip   /web        将网站源码压缩包复制到web文件夹中

[root@web-1 ~]# cd /web        

[root@web-1 web]# ls

go+html+mysql+redis.zip        复制成功

[root@web-1 web]# unzip

-bash: unzip: 未找到命令

[root@web-1 web]# yum  install unzip -y        安装解压工具

[root@web-1 web]# unzip  go+html+mysql+redis.zip        解压源码压缩包

因为网站使用go语言开发的,所以要安装go环境

[root@web-1 web]# yum install   epel-release -y        安装epel源

[root@web-1 web]# yum  install  golang  -y        安装go环境

配置go语言的国内下载资源的站点

[root@web-1 web]# go env -w  GOPROXY=https://goproxy.cn,direct

[root@web-1 web]# go mod init web

将需要依赖的库下载到本地

[root@web-1 web]# go  mod  tidy

最后运行go语言的网站

[root@web-1 web]# go run  server.go

服务启动后我们发现监听的端口号是8080端口,我们可以在浏览器输入我们的ip地址:8080访问我们的网站

然后我们登录会报错,因为我们还没有搭建mysql数据库服务器

二、安装mysql服务器,部署mysql软件

1.安装mysql软件

利用xftp将mysql5.7安装到mysql服务器中,并且将数据库自动安装脚本也拷贝到数据库服务器中onekey_install_mysql_binary_v3.sh

[root@mysql ~]# ls

anaconda-ks.cfg  init_env.sh  mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz  onekey_install_mysql_binary_v3.sh

[root@mysql ~]# bash onekey_install_mysql_binary_v3.sh        执行数据库安装脚本进行一键安装

安装完成后执行su命令

[root@mysql ~]# su  重新登录加载新的PATH--》有mysql命令路径

然后输入账号密码登录数据库

[root@mysql ~]# mysql -u用户名 -p'密码'

root@(none) 12:02  mysql>        登陆成功

-uroot 指定用户  user        -p 指定密码  password

三、数据库初始化

1.建立初始的库

root@(none) 14:50  mysql>show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

4 rows in set (0.00 sec)

root@(none) 14:50  mysql>create database users;        创建一个数据库users

root@(none) 14:52  mysql>show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

| users              |

+--------------------+

5 rows in set (0.00 sec)

创建users数据库成功

2.导入表和以前的数据

info.sql 是原来从数据库里导出的数据文件

在web服务器中将info.sql文件远程拷贝到mysql服务器中

[root@web-1 web]# scp  info.sql   192.168.205.133:/root

导入数据到MySQL服务器里

[root@mysql ~]# mysql -uroot -p'Sanchuang123#'  users < info.sql

root@(none) 15:00  mysql>use users;        进入users库

root@users 15:00  mysql>show tables;        查看users库中的表

建立授权的用户,允许web网站可以连接到数据库里获取数据

root@mysql 15:08  mysql>create user  'scweb'@'192.168.205.132'  identified by  'Scweb123';

root@mysql 15:11  mysql>select host,user,authentication_string from user;

+-----------------+---------------+-------------------------------------------+

| host            | user          | authentication_string                     |

+-----------------+---------------+-------------------------------------------+

| localhost       | root          | *4ABA759CFB5DDBF29AFAFBFB03026091F6F694FD |

| localhost       | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| localhost       | mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| 192.168.205.132 | scweb         | *118ACFED48BBA40181290AF31C778D8D2B2CD60E |

+-----------------+---------------+-------------------------------------------+

建立授权用户成功

授予'scweb'@'192.168.205.132'这个用户可以对users库里的所有的表进行全部权限的操作,包括增删改查等

root@mysql 15:11  mysql>grant all on users.*  to 'scweb'@'192.168.205.132';

将mysql客户端命令scp到web服务器上,这样web服务器就可以使用mysql这个客户端没有进行远程登录测试

[root@mysql ~]# cd /usr/local/mysql/bin

[root@mysql bin]# scp  mysql  192.168.205.132:/usr/bin

在web服务器上登录MySQL服务器

192.168.205.133  是数据库服务器的ip        -h  指定数据库服务器的ip地址  host

[root@web-1 web]# mysql  -h 数据库服务器的ip地址  -u授权用户名  -p'授权用户密码'

四、配置数据库信息

1.修改网站的server.go的数据库连接地址

[root@web-1 web]# cd /web

[root@web-1 web]# ls

go+html+mysql+redis.zip  go.mod  go.sum  info.sql  Readme.md  server.go  static  templates

[root@web-1 web]# vim server.go

将配置文件中的DB_USER换成刚授权的用户名,DB_PASSWORD换成授权用户密码,DB_HOST换成mysql服务器的ip, REDIS_HOST换成mysql服务器的网关,配置完后:wq保存并退出

再次运行web程序

[root@web-1 web]# go run  server.go

发现登录和添加学生信息和查询学生信息都可以正常使用

五、安装自动化运维工具ansible

介绍:ansible是使用python开发的一个自动化运维工具,用来对服务器进行批量管理和操作。

ansible的核心组件:

  1. 主机清单 Host Inventory: 里面写好了可以控制的服务器的ip地址--》控制的机器清单
  2. 模块 modules: ansible可以使用的工具箱
  3. 插件: 也是ansible可以使用的工具
  4. playbook : ansbile需要在主机上执行的事情

1.安装ansible软件

1.1.重新安装一台虚拟机,并执行之前写好的初始化脚本

[root@web-1 ~]# scp init_env.sh 192.168.205.134:/root        远程拷贝初始化脚本到ansible服务器

[root@localhost ~]# bash init_env.sh ansible  192.168.205.134  192.168.205.2        执行初始化脚本一键初始化服务器

1.2.安装ansible软件

安装ansible前先要安装epel源

[root@ansible .ssh]# yum  install  epel-release  -y        安装epel源

[root@ansible .ssh]# yum  install  ansible  -y        安装ansible

1.3.添加主机清单,新增控制的服务器

添加主机清单,新增控制的服务器

[root@ansible ~]# cd /etc/ansible/

[root@ansible ansible]# ls

ansible.cfg  hosts  roles

[root@ansible ansible]# vim hosts        修改hosts配置文档

在配置文档中添加web服务器和mysql服务器

[web]

web服务器ip  ansible_ssh_user='root' ansible_ssh_pass='web服务器密码'

[db]

mysql服务器ip  ansible_ssh_user='root' ansible_ssh_pass='mysql服务器密码'

1.4.建立ssh连接实现控制服务器

[root@ansible ansible]# ssh  root@web服务器的ip

[root@ansible ansible]# ssh  root@mysql服务器的ip

可以使用[root@ansible ansible]# ansible  all  -m  shell  -a  "ip  add"语句检验是否实现对web和mysql服务器的控制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值