简单搭建centos7的web服务器

环境:虚拟机centos7+jdk8+tomcat8+mariadb(相当于mysql)
注:命令提示符里面输入任何密码都不会显示,所以不要认为自己没输入,只是你没看到而已。


安装的工具:
在yum源安装了:vim、tree、wget、mariadb-server、mariadb、nginx、keepalived
命令:yum -y install vim ; yum -y install tree ; yum -y install wget ;
yum -y install mariadb-server mariadb;
自备安装包:tomcat8、jdk8(解压再配jdk环境变量即可)


一些常用必备命令:
查看tomcat状态: ps -ef|grep java(如果tomcat打开则有则有下图中的显示)
解释:我开了两只猫所以有两个端口,如果两只猫关闭则只有最后一条java语句
强制关闭tomcat进程:kill -9 3233和kill -9 3380
正常关闭tomcat:进入bin目录,然后 root@localhost bin]# ./shutdown.sh
启动tomcat:进入bin目录,root@localhost bin]# ./shutdown.sh
强制退出:键盘ctrl+c
退出:q
查看系统日志:-f /var/log/ 再按两次tab键,会出现提示(系统日志是:tail -f /var/log/messages | more;出错记得看日志
查看当前用户操作历史记录:history
查看pid:ip a
记录本地所以用户的权限、路径、密码:cat /etc/passwd | more(按回车可往下看)
查看所有安装的软件:rpm -qa
仅查看python:rpm -qa |grep python
本地电脑上传文件到虚拟机:scp 路径 root@虚拟机ip:/存储的目录
(aj:scp jdk8 root@192.168.235.129:/opt)
解压以.tar.gz的压缩包:tar -xzvf xxx.tar.gz

查看pid: ip a
重启网卡:systemctl restart network
查看防火墙状态:firewall-cmd –state
关闭防火墙: systemctl stop firewalld.service
禁用防火墙: systemctl disable firewalld.service
重启系统: reboot
提示键:tab,在用绝对路径访问某个资源时,可以按两次tab会出现当前路径下的目录
yum源安装文件:yum -y install xxx
卸载文件: yun remove xxxx* [有*才会把相关依赖都删除干净]
删除含有子文件的目录:rm -fv xxx/*
查看缓存文件(.swap): || -a
查看某个应用的状态:ps -aux|grep firewalld
vim的快捷键:dd删除一行,dg删除从光标到末尾,uu撤回,yyp复制一行


第一天安装centos7
细节:用net模式、最小安装不用镜像,选择cent64(不要选cent)会出现获取不到ip的问题,具体可以看阿里云的最简centos安装方式流程,注意细节就可以。
用ip a命令查看能否获取pid,第一个是本机ip不用管,主要是看第二个pid,获取不到就想办法,不然后面无法继续
然后在window界面用git工具远程连接(命令:ssh @虚拟机pid),方便上传,方便开几个窗口多次连接。每次开机都要检查ip(ip a)和防火墙(查看状态:firewall-cmd –state;关闭:systemctl stop firewalld.service; 禁用:systemctl disable firewalld.service)。


第二天安装mariadb-server、mariadb
1、安装MariaDB和mariadb-server

安装命令

yum -y install mariadb mariadb-server

安装完成MariaDB,首先启动MariaDB

systemctl start mariadb

设置开机启动

systemctl enable mariadb

接下来进行MariaDB的相关简单配置

mysql_secure_installation

首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,(选n)

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车(选n)

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车(选y)

初始化MariaDB完成,接下来测试登录

mysql -uroot -ppassword

完成。
2配置数据库的远程连接(使本地电脑的图像界面能远程连接虚拟机的数据库)
a. 改表法
可能是你的账号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登录mysql后,更改“mysql”数据库里的’user’表的”host”项,从“localhost”改称“%”

mysql -uroot -p
use musql
update user set host=’%’ where user=’root’;
回车可能提示错误,不管,再刷新权限就会成功
flush privileges;
查看结果:select host、user from user;

b. 授权法(任何服务器都能远程连接)
在mysql1.5.6自带的命令工具中输入
mysql> grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;
mysql> flush privileges;//刷新一下权限,不需要重启mysql


第三天搭建基础环境发布项目
1.在git中用:scp 本地电脑文件绝对路径 root@虚拟机pid:/存储目录
这里写图片描述
把本地电脑的压缩文件通过git远程传递给虚拟机的/opt目录
2.分别解压两个压缩包到当前目录(tar -xzvf xxx.tar.gz )
3.删除两个压缩包
4.配置java-path(即jdk的环境变量)
此处粘贴链接https://jingyan.baidu.com/article/48a42057f1f0a4a925250464.html
http://www.360doc.com/content/17/1110/16/9824753_702691448.shtml
可用java -version检查
5.查看tomcat是否启动(此处是指你上传的而不是系统自带)
ps -ef|grep java
这里写图片描述
如果只有一排跟java有关的语句,则tomcat未启动,如果像上图所示,则是启动(我开了两只猫)
启动猫:
这里写图片描述

关闭猫:则最后一句改成:./shutdown.sh
6.如果添加第二只猫,则需要在tomcat下的conf目录下的server.xml中作出如下修改:(共计6处)
这里写图片描述
这里写图片描述
这里写图片描述
7.关闭防火墙
8.打开浏览器输入http://192.168.235.129:8080http://192.168.235.129:8081, 如果出现tomcat默认首页则无误
这里写图片描述
9.自备一个javaEE项目(导出之前请修改对应的数据库的相关数据,比如连接数据库的密码),如果是在myeclipse或者eclipse,就导出一个war文件,然后上传到对应的tomcat里面的webapps目录下,(可先进入tomcat的webapps目录,然后用pwd命令得到绝对路径,不要删除该war文件)
10.用小海豚连接虚拟机的数据库,导入相应项目的数据库(导入导出都请选择以sql方式…)
11.在浏览器输入http://192.168.235.129:8080/xxx, http://192.168.235.129:8081/xxx, 能够访问你的项目的首页,则项目部署成功!

注:过程需要胆大心细,如果配置失误,请反思是猫的问题,还是防火墙没关闭,还是数据库无法连接,还是你导入的项目的连接数据库的配置的用户名和密码未修改


第四天复制centos系统配置nginx使能访问到tomcat

解释:nginx反向代理,配置负载均衡(采用ip_hash),按照一个服务器多只猫,选择ip_hash方式配置最合适。ip_hash:根据访问ip的hash结果分配,这样每个访客就固定访问一个后端服务器,可解决seesion问题。

1.克隆之前的系统,该系统命名为nginx,之前的系统命名为master,以作区分。
2.看是否得到pid:ip a
nginx的pid是:192.168.235.130
master的pid是:192.168.235.129
2.安装流程
在opt目录下,执行:wget nginx nginx-release-centos-7-0.el7.ngx.noarch.rpm 得到一个存下载nginx地址的rpm文件,
解压:rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
下载:yum -y install nginx
重启:systemctl restart nginx
看进程状态:ps aux|grep nginx
看运行状态:systemctl status nginx
测试:在浏览器访问该ipd(aj.http://192.168.235.130),会出现:
这里写图片描述
3.配置nginx,拦截到master的请求,配置负载均衡,转发将请求分配给不同的master的tomcat。
1.修改配置:vim /etc/nginx/conf.d/default.conf
这里写图片描述
2.添加xxx.conf配置(我是tomcats.conf):vim /etc/nginx/conf.d/tomcats.conf
这里写图片描述
单独配置的原因: vim /etc/nginx/nginx.conf中的这句话
这里写图片描述
注:自己创建的必须以:.conf结尾

2.重启nginx: systenctl restart nginx
3.临时关闭权限:setenforce 0
4.测试:在浏览器输入http://192.168.235.130 如果出现是的是tomcat欢迎界面则无误

注:把握细节:浏览器访问不到可能的原因
1.nginx启动否、2.配置文件没有错误、3.检查master的tomcat启动否、4.临时关闭权限否setenforce 0、5.浏览器刷新(ctrl+f5)
6.查看日志:tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log


第五天配置nginx动静分离

解释:把静态资源如音频、图片、js、css、html的请求拦截,而动态资源如jsp、php、c#这种要经过tomcat编译一次才能运行的请求转发给某一个猫,缓解服务器压力。
1.将之前在master内的tomcat的webapps目录下的发布的项目文件复制一份到nginx1的/opt/static/的目录下
2.添加配置:vim /etc/nginx/conf.d/default.conf
这里写图片描述

解释:proxy_set_header 强行设置静态资源的头文件的路径为和请求的路径一致,则静态资源由nginx提供;添加的location(采用的是正则表达式的匹配)是将静态资源拦截,后面的$(则可使正则表达式匹配jsp不会被当成js被拦截)与括号必须有一个空格,
3.setenforce 0
4.测试:访问浏览器http://192.168.235.130/xxx 得到项目的首页,打开开发者工具,查看界面的静态资源如某图片的ip是http://192.168.235.130/ 则无误


第六天下载并配置虚拟路由vip即keepalived(ip飘逸)

原理:监控两台nginx,给两台代理服务器设置虚拟ip,vip在两个nginx之间随机飘逸
1.安装:yum -y install keepalived
2.修改配置:vim /etc/keepalived/keepalived.conf
这里写图片描述
解释:router_id:每一个的路由都不一样,state:代理服务集群中为虚拟代理主机的用MASTER,其余用BACKUP,interface处必须和vip一致
这里写图片描述
priority:优先级(优先级高的干活多,将虚拟代理主机优先级设为100),virtual_ipaddress:设置虚拟代理主机的虚拟vip
3.关闭nginx1,以nginx1再次克隆一个系统命名为nginx2,
4.修改nginx2的keepalived.conf(router_id:末尾加1以作区分;state BACKUP;priority:50)
5.保存退出,重启keepalived、重启nginx、setenforce0
6.重启nginx1的keepalived、重启nginx、setenforce0
7.检查vip的位置,显而易见应该在nginx1中,因为nginx1的priority是100
8.stop掉nginx1中keepalived,查看vip是否漂移到nginx2,restart nginx2中的keepalived,查看vip是否被nginx1抢回来,此时,在浏览器访问vip也能访问得到master中的tomcat欢迎页。


在master搭建FTP
1.安装:yum install vsftpd
2.配置:
3.检查:成功之后的效果,通过ftp工具(flashFXP),能够实现上传下载

基础框架模型,两台nginx代理服务器+一台主机master内有两只猫(tomcat1:8080,tomcat2:8081)

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值