linux:mysql,nginx安装
mysql安装
-
如果没安装wget,先安装
yum install –y wget
-
检查系统中是否已安装 MySQL
rpm -qa | grep mysql
-
返回空值的话,就说明没有安装 MySQL
查看已安装的 Mariadb 数据库版本。
rpm -qa|grep -i mariadb
-
卸载已安装的 Mariadb 数据库。
rpm -qa|grep mariadb|xargs rpm -e --nodeps
-
再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成。
rpm -qa|grep -i mariadb
-
下载安装包文件。
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
-
安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
-
安装完成之后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repo 、mysql-community-source.repo 两个 yum 源文件。
执行
yum repolist all | grep mysql
命令查看可用的 mysql 安装文件。
-
安装mysql。
yum install mysql-server
-
检查mysql是否安装成功。
rpm -qa | grep mysql
mysql设置开机自启,远程登陆,不区分大小写,设置密码
启动 mysql 服务 。
systemctl start mysqld.service #启动 mysql
systemctl restart mysqld.service #重启 mysql
systemctl stop mysqld.service #停止 mysql
systemctl enable mysqld.service #设置 mysql 开机启动
设置密码 。
mysql5.6 安装完成后,它的 root 用户的密码默认是空的,我们需要及时用 mysql 的 root 用户登录(第一次直接回车,不用输入密码),并修改密码。
# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("123456") where user='root';
设置远程主机登录
执行以下命令,为root 用户添加远程登录的能力。
mysql> GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY "123456";
mysql> flush privileges;
由于在linux操作系统,严格区分大小写,所以安装完mysql之后,需要设置mysql不区分大小写,
1: vi /etc/my.cnf
找到[mysqld]
下面加入一行
lower_case_table_names=1
2:重启mysql服务
systemctl restart mysqld
nginx简介
nginx
nginx是一个优秀的http/反向代理服务器,开源免费支持高并发
主流的互联网公司都使用nginx充当反向代理服务器(负载均衡)---
(将系统的并发量均匀的分配,这种策略就是负载均衡)
正向代理(
客户端确切知道目标资源的地址,通过代理服务器,将请求发送出去,这种形式就称为正向代理
vpnFQ
)和反向代理
(客户端不需要知道目标资源的地址,将请求转发给反向代理服务器,反向代理服务器
处理用户的请求将请求进行负载均衡,分配给应用服务器来进行处理.
常见的实现 nginx
)
nginx+tomcat负载均衡
准备三台机器 tomcat0 3tomcat1 4tomcat2 5
假设三台机器 tomcat的访问路径
tomcat0 http://192.168.192.3:8080
tomcat1 http://192.168.192.4:8080
tomcat2 http://192.168.192.5:8080
nginx负载均衡策略
1:轮询
2:随机(权重 weight)
3:ip_hash 对客户端的ip值进行一致性hash
nginx安装
nginx 反向代理、负载均衡、http、图片服务器配置
- 由于nginx是c语言写的,安装nginx之前需要需要安装依赖库
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
在nginx中执行 ./configure --prefix=/usr/app/nginx
然后执行
make && make install
./nginx 启动
./nginx -s quit 停止
./nginx -s reload 重新载入配置文件
Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、
upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)
和 location(URL匹配特定位置后的设置),
每部分包含若干个指令。
main部分设置的指令将影响其它所有部分的设置;
server部分的指令主要用于指定虚拟主机域名、IP和端口;
upstream的指令用于设置一系列的后端服务器,
设置反向代理及后端服务器的负载均衡;
location部分用于匹配网页位置(比如,根目录“/”,“/images”,等等)。
他们之间的关系式:server继承main,location继承server;
upstream既不会继承指令也不会被继承。
它有自己的特殊指令,不需要在其他地方的应用。
nginx配置
在http{
}里面添加
upstream zuul {
server 192.168.192.3:8080;
server 192.168.192.4:8080;
server 192.168.192.5:8080;
}
weight 是权重 max_fails 请求多少次失败后把这台服务器标记为失效 fail_timeout 请求超时时间
然后修改server当中的location /的配置
server {
listen 8000;
server_name localhost;
location / {
proxy_pass http://zuul;
}
location /images {
root /usr ;
autoindex on;
}
}
end;
nginx的负载均衡策略,支持三种模式
1:默认以轮询的策略进行负载均衡
2:可以给每一台机器设置权重,这种模式就是随机权重(
对于服务器资源来说。并不是每一台服务器的性能都是一样的
)
3:ip hash,nginx会将客户端的ip地址进行hash,然后对虚拟节点进行取摩,映射到一台tomcat上去
ip_hash可以解决tomcat集群的session共享问题
一致性hash算法.