zoukankan      html  css  js  c++  java
  • linux常用环境的安装

    安装linux和安装虚拟机略过,直接进行环境的安装

    1,安装JDK

    java环境变量:

    1. 系统变量: /etc/profile
    2. 用户环境变量: .bash_profile(当前用户的profile)
    3. 将文件上传到root文件夹下
    4. tar -zxvf jdk-8u171-linux-x64.tar.gz(解压)
      1. 此次用的是解压包的方式进行配置,
      2. 还可以通过rpm(类似于java的.exe文件),还是需要配置,通过搜索安装文件在10中可以看到,在环境变量中配置
      3. yum安装,自动化配置,什么都不用做,只需要执行命令,直接用
    5. mv jdk1.8.0_171/ /usr(移动到usr文件夹下)
    6. vim .bash_profile(配置环境变量)
    7. source .bash_profile(刷新配置)
    8. 1 export JAVA_HOME=/usr/jdk1.8.0_171
      2 export PATH=$JAVA_HOME/bin:$PATH
      点击查看java环境配置 
    9. 然后用java或者javac测试一下配置是否成功
    10. 查询一下java安装的位置,以方便后期进行卸载软件
      1. 1 [root@localhost ~]# find / -name "java"
        2 /etc/pki/ca-trust/extracted/java
        3 /etc/pki/java
        4 /usr/jdk1.8.0_171/bin/java
        5 /usr/jdk1.8.0_171/jre/bin/java
        点击查看

    2,tomcat的安装:

    1. 将文件上传到并解压
      1. tar -zxvf apache-tomcat-7.0.93.tar.gz(解压)
      2. mv apache-tomcat-7.0.93 tomcat7 (将解压缩的文件移动到新的文件夹,更改文件名)
      3.  1 [root@localhost ~]# mv apache-tomcat-7.0.93 tomcat7
         2 [root@localhost ~]# ll
         3 总用量 8932
         4 -rw-------. 1 root root    1501 11月 18 22:51 anaconda-ks.cfg
         5 -rw-r--r--. 1 root root 9138957 11月 19 08:11 apache-tomcat-7.0.93.tar.gz
         6 drwxr-xr-x. 9 root root     220 11月 19 08:13 tomcat7
         7 [root@localhost ~]# cd tomcat7/
         8 [root@localhost tomcat7]# ll
         9 总用量 132
        10 drwxr-xr-x. 2 root root  4096 11月 19 08:13 bin
        11 -rw-r--r--. 1 root root 18099 2月  17 2019 BUILDING.txt
        12 drwxr-xr-x. 2 root root   158 2月  17 2019 conf
        13 -rw-r--r--. 1 root root  6090 2月  17 2019 CONTRIBUTING.md
        14 drwxr-xr-x. 2 root root  4096 11月 19 08:13 lib
        15 -rw-r--r--. 1 root root 56846 2月  17 2019 LICENSE
        16 drwxr-xr-x. 2 root root     6 2月  17 2019 logs
        17 -rw-r--r--. 1 root root  1241 2月  17 2019 NOTICE
        18 -rw-r--r--. 1 root root  3255 2月  17 2019 README.md
        19 -rw-r--r--. 1 root root  9368 2月  17 2019 RELEASE-NOTES
        20 -rw-r--r--. 1 root root 16978 2月  17 2019 RUNNING.txt
        21 drwxr-xr-x. 2 root root    30 11月 19 08:13 temp
        22 drwxr-xr-x. 7 root root    81 2月  17 2019 webapps
        23 drwxr-xr-x. 2 root root     6 2月  17 2019 work
        点击查看
      4. mv tomcat7/ /usr/   (移动到usr文件下)
      5. /usr/tomcat7/bin: (文件下);  ./startup.sh:  启动tomcat 
      6. 查看防火墙状态关闭防火墙
        1.  1 [root@localhost bin]# systemctl status firewalld(查看防火墙状态)
           2 ● firewalld.service - firewalld - dynamic firewall daemon
           3    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
           4    Active: active (running) since 二 2019-11-19 07:25:34 CST; 1h 3min ago
           5      Docs: man:firewalld(1)
           6  Main PID: 654 (firewalld)
           7    CGroup: /system.slice/firewalld.service
           8            └─654 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
           9 
          10 11月 19 07:25:20 localhost.localdomain systemd[1]: Starting firewalld - dynamic fir....
          11 11月 19 07:25:34 localhost.localdomain systemd[1]: Started firewalld - dynamic fire....
          12 Hint: Some lines were ellipsized, use -l to show in full.
          13 [root@localhost bin]#
          14 [root@localhost bin]#
          15 [root@localhost bin]# systemctl stop firewalld(暂时关闭防火墙)
          16 [root@localhost bin]# systemctl disable firewalld(永久关闭防火墙)
          17 Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
          18 Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
          点击查看
      7. ./shutdown.sh:  关闭tomcat
      8. ps -aux|grep "tomcat":  查看tomcat进程
        1. 1 [root@localhost bin]# ps -aux|grep "tomcat"
          2 root     12662  9.9  8.3 2288956 85008 pts/0   Sl   08:38   0:03 /usr/jdk1.8.0_171/bin/java -Djava.util.logging.config.file=/usr/tomcat7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Dignore.endorsed.dirs= -classpath /usr/tomcat7/bin/bootstrap.jar:/usr/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/usr/tomcat7 -Dcatalina.home=/usr/tomcat7 -Djava.io.tmpdir=/usr tomcat7/temp org.apache.catalina.startup.Bootstrap start
          3 root     12726  0.0  0.0 112720   980 pts/0    R+   08:39   0:00 grep --color=auto tomcat
          点击查看
      9. 检测tomcat日志:
        1.  1 [root@localhost logs]# tail -f catalina.out
           2 十一月 19, 2019 8:39:00 上午 org.apache.catalina.startup.HostConfig deployDirectory
           3 信息: Deploying web application directory /usr/tomcat7/webapps/manager
           4 十一月 19, 2019 8:39:00 上午 org.apache.catalina.startup.HostConfig deployDirectory
           5 信息: Deployment of web application directory /usr/tomcat7/webapps/manager has finished in 59 ms
           6 十一月 19, 2019 8:39:00 上午 org.apache.coyote.AbstractProtocol start
           7 信息: Starting ProtocolHandler ["http-bio-8080"]
           8 十一月 19, 2019 8:39:00 上午 org.apache.coyote.AbstractProtocol start
           9 信息: Starting ProtocolHandler ["ajp-bio-8009"]
          10 十一月 19, 2019 8:39:00 上午 org.apache.catalina.startup.Catalina start
          11 信息: Server startup in 1658 ms
          12 pwd
          点击查看
      10. 修改tomcat乱码:
        1. 1 [root@localhost conf]# vim server.xml
          2 [root@localhost conf]# pwd
          3 /usr/tomcat7/conf
          4 修改内容:
          5     <Connector port="8081" protocol="HTTP/1.1"
          6                connectionTimeout="20000"
          7                redirectPort="8443" URIEncoding="UTF-8" />
          点击查看
      11. ./catalina.sh run: 启动并查看日志

    3,mysql的安装:

    1. centos7.X安装mysql的时候先卸载mariadb,不然会出现冲突
      1. 1 [root@localhost /]# rpm -qa | grep mariadb
        2 mariadb-libs-5.5.56-2.el7.x86_64
        3 [root@localhost /]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64(卸载)
        4 [root@localhost /]# rpm -qa | grep mariadb
        5 [root@localhost /]#
        点击查看
    2. 上传mysql需要安装的软件包
      1.  1 [root@localhost /]# cd /root/mysql/
         2 [root@localhost mysql]# ls
         3 mysql-community-client-5.6.42-2.el7.x86_64.rpm
         4 mysql-community-common-5.6.42-2.el7.x86_64.rpm
         5 mysql-community-libs-5.6.42-2.el7.x86_64.rpm
         6 mysql-community-server-5.6.42-2.el7.x86_64.rpm
         7 net-tools-2.0-0.22.20131004git.el7.x86_64.rpm
         8 perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm
         9 perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm
        10 perl-Data-Dumper-2.145-3.el7.x86_64.rpm
        11 perl-DBI-1.627-4.el7.x86_64.rpm
        12 perl-IO-Compress-2.061-2.el7.noarch.rpm
        13 perl-Net-Daemon-0.48-5.el7.noarch.rpm
        14 perl-PlRPC-0.2020-14.el7.noarch.rpm
        点击查看
    3.  安装文件下所有的rpm包
      1.  1 [root@localhost mysql]# rpm -ivh perl-*
         2 准备中...                          ################################# [100%]
         3 正在升级/安装...
         4    1:perl-Net-Daemon-0.48-5.el7       ################################# [ 14%]
         5    2:perl-Data-Dumper-2.145-3.el7     ################################# [ 29%]
         6    3:perl-Compress-Raw-Zlib-1:2.061-4.################################# [ 43%]
         7    4:perl-Compress-Raw-Bzip2-2.061-3.e################################# [ 57%]
         8    5:perl-IO-Compress-2.061-2.el7     ################################# [ 71%]
         9    6:perl-PlRPC-0.2020-14.el7         ################################# [ 86%]
        10    7:perl-DBI-1.627-4.el7             ################################# [100%]
        11 [root@localhost mysql]# rpm -ivh net-tools-2.0-0.22.20131004git.el7.x86_64.rpm
        12 准备中...                          ################################# [100%]
        13 正在升级/安装...
        14    1:net-tools-2.0-0.22.20131004git.el################################# [100%]
        15 [root@localhost mysql]# rpm -ivh mysql-community-common-5.6.42-2.el7.x86_64.rpm
        16 警告:mysql-community-common-5.6.42-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
        17 准备中...                          ################################# [100%]
        18 正在升级/安装...
        19    1:mysql-community-common-5.6.42-2.e################################# [100%]
        20 [root@localhost mysql]# rpm -ivh mysql-community-libs-5.6.42-2.el7.x86_64.rpm
        21 警告:mysql-community-libs-5.6.42-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
        22 准备中...                          ################################# [100%]
        23 正在升级/安装...
        24    1:mysql-community-libs-5.6.42-2.el7################################# [100%]
        25 [root@localhost mysql]# rpm -ivh mysql-community-client-5.6.42-2.el7.x86_64.rpm
        26 警告:mysql-community-client-5.6.42-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
        27 准备中...                          ################################# [100%]
        28 正在升级/安装...
        29    1:mysql-community-client-5.6.42-2.e################################# [100%]
        30 [root@localhost mysql]# rpm -ivh mysql-community-server-5.6.42-2.el7.x86_64.rpm
        31 警告:mysql-community-server-5.6.42-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
        32 准备中...                          ################################# [100%]
        33 正在升级/安装...
        34    1:mysql-community-server-5.6.42-2.e################################# [100%]
        点击查看
    4. 创建文件添加官方的yum源
      1. vi /etc/yum.repos.d/mysql-community.repo
      2. 1 [mysql56-community]
        2 name=MySQL 5.6 Community Server
        3 baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
        4 enabled=1
        5 gpgcheck=0
        6 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
        文件里面添加的内容
    5. 安装数据库: yum -y install mysql-community-server
    6. 启动数据库: service mysqld start
    7. 修改数据库默认root用户密码: mysqladmin -u root -p password
      1. 回车输入原始密码,再输入新的密码
      2. 注意:mysql5.7的初始密码是随机生成的,放在 /var/log/mysqld.log中, 使用命令 grep ‘temporary password’ /var/log/mysqld.log 读出来即可
    8. windons访问数据库:
    9. 重登一下mysql: mysql -u root -p(然后输入密码)
    10. 执行一下代码,输入错误的话用c退出(一定要注意命令后边的";",很容易犯错)
      1.  1 mysql> show databases;
         2 +--------------------+
         3 | Database           |
         4 +--------------------+
         5 | information_schema |
         6 | mysql              |
         7 | performance_schema |
         8 +--------------------+
         9 3 rows in set (0.00 sec)
        10 
        11 mysql> use mysql
        12 Reading table information for completion of table and column names
        13 You can turn off this feature to get a quicker startup with -A
        14 
        15 Database changed
        16 mysql> show tables;
        17 +---------------------------+
        18 | Tables_in_mysql           |
        19 +---------------------------+
        20 | columns_priv              |
        21 | db                        |
        22 | event                     |
        23 | func                      |
        24 | general_log               |
        25 | help_category             |
        26 | help_keyword              |
        27 | help_relation             |
        28 | help_topic                |
        29 | innodb_index_stats        |
        30 | innodb_table_stats        |
        31 | ndb_binlog_index          |
        32 | plugin                    |
        33 | proc                      |
        34 | procs_priv                |
        35 | proxies_priv              |
        36 | servers                   |
        37 | slave_master_info         |
        38 | slave_relay_log_info      |
        39 | slave_worker_info         |
        40 | slow_log                  |
        41 | tables_priv               |
        42 | time_zone                 |
        43 | time_zone_leap_second     |
        44 | time_zone_name            |
        45 | time_zone_transition      |
        46 | time_zone_transition_type |
        47 | user                      |
        48 +---------------------------+
        49 28 rows in set (0.00 sec)
        50 
        51 #执行下面两个指令就可以连接数据库了
        52 mysql> update user set host='%';
        53 ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
        54 
        55 
        56 mysql> flush privileges;
        57 Query OK, 0 rows affected (0.00 sec)
        点击查看
    11.  上不操作把所有没有密码的用户都删除,我的操作是直接把所有的用户都删除了,没事可以正常访问,一定注意删除表中留一个字段
      1. 如果再出现问题就给添加一个mysql表(在命令窗口没有显示,但是在外部的可视化工具中有数据,不得其姐)
      2. 除了一点小问题就是mysql登录第二次就不同再输入密码了,输密码会报错难受,就这样吧

    4,mysql分布式安装

    1. 三台主机的ip为:
      1. 192.168.56.121(hadoop121)[主]
      2. 192.168.56.122(hadoop122)[从]
      3. 192.168.56.123(hadoop123)[从]
    2. 配置三台主机的文件: vim /etc/my.cnf(文件)
      1.  1 # mysql的主配置文件
         2 server-id=1
         3 log-bin=mysql-bin
         4 log-slave-updates
         5 slave-skip-errors=all
         6 #就上边那点配置
         7 
         8 # mysql的主配置文件
         9 server-id=2
        10 log-bin=mysql-bin
        11 log-slave-updates
        12 slave-skip-errors=all
        13 #就上边那点配置
        14 
        15 # mysql的主配置文件
        16 server-id=3
        17 log-bin=mysql-bin
        18 log-slave-updates
        19 slave-skip-errors=all
        20 #就上边那点配置
        点击查看
      2. systemctl restart mysqld(重启服务)
    3. 检验sql是否配置成功
      1. 1 mysql> SHOW VARIABLES like 'server_id';
        2 +---------------+-------+
        3 | Variable_name | Value |
        4 +---------------+-------+
        5 | server_id     | 3     |
        6 +---------------+-------+
        7 1 row in set (0.00 sec)
        点击查看
    4. 查看主节点的日志文件以及文件的位置
      1. 1 mysql> show master status;
        2 +------------------+----------+--------------+------------------+-------------------+
        3 | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
        4 +------------------+----------+--------------+------------------+-------------------+
        5 | mysql-bin.000001 |      120 |              |                  |                   |
        6 +------------------+----------+--------------+------------------+-------------------+
        7 1 row in set (0.00 sec)
        点击查看  
    5. 将主节点的配置给从节点

      1.  1 mysql> change master to
         2     ->
         3     -> master_host='192.168.56.121',
         4     ->
         5     -> master_user='root',
         6     ->
         7     -> master_password='123456',
         8     ->
         9     -> master_log_file='mysql-bin.000001',
        10     ->
        11     -> master_log_pos=120;
        12 Query OK, 0 rows affected, 2 warnings (0.18 sec)
        点击查看
    6. 启动从节点: start slave;(mysql)
    7. 查看从节点的状态,是否成功配置:
      1. mysql> show slave statusG
      2. 1 #两个必须为yes
        2 Slave_IO_Running: No
        3 Slave_SQL_Running: Yes
        点击查看
      3. 复制的主机有问题会报异常:
        1. 1 Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
          2 上一个IO错误:致命错误:从I/O线程停止,因为主服务器和从服务器具有相同的MySQL服务器Uuid;这些Uuid必须不同,复制才能工作。
          点击说明
      4. 解决办法,删除一个配置文件,重启mysql服务
        1. 1 [root@localhost ~]# find / -name "auto.cnf"
          2 /var/lib/mysql/auto.cnf
          3 [root@localhost ~]# rm -rf /var/lib/mysql/auto.cnf
          4 [root@localhost ~]# systemctl restart mysqld
          点击查看
      5.   重新启动mysql的从节点并查看状态,配置成功!
        1. 1 mysql> start slave;
          2 Query OK, 0 rows affected, 1 warning (0.00 sec)
          3 
          4 mysql> show slave statusG
          5              Slave_IO_Running: Yes
          6             Slave_SQL_Running: Yes
          点击查看
    8. 以上是配置主从复制,下面配置读写分离架构
    9. 安装mycat,解压并配置环境变量: 
      1. 1 export MYCAT_HOME=/usr/mycat
        2 export PATH=$JAVA_HOME/bin:$PATH:$MYCAT_HOME/bin
        点击查看
      2. source .bash_profile(刷新配置)
    10. 检验一下是否配置成功:  

      [root@localhost ~]# mycat
      Usage: /usr/mycat/bin/mycat { console | start | stop | restart | status | dump }

    11. 配置mycat中国年conf下的配置 schema.xml
      1.  1 <?xml version="1.0"?>
         2 <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
         3 <mycat:schema xmlns:mycat="http://io.mycat/">
         4 
         5  <!-- 定义MyCat的逻辑库  -->
         6     <schema name="mycat" checkSQLschema="false" sqlMaxLimit="100" dataNode="testNode"></schema>
         7     <!-- 定义MyCat的数据节点 -->
         8     <dataNode name="testNode" dataHost="dtHost" database="kg" />
         9    <dataHost name="dtHost" maxCon="1000" minCon="10" balance="1"
        10                 writeType="0" dbType="mysql" dbDriver="native" switchType="-1"  slaveThreshold="100">
        11                 <heartbeat>select user()</heartbeat>
        12                 <!-- can have multi write hosts -->
        13                 <writeHost host="hostM1" url="192.168.56.121:3306" user="root"
        14                         password="123456">
        15                         <!-- can have multi read hosts -->
        16                 <readHost host="hostS1" url="192.168.56.122:3306" user="root" password="123456" />
        17                 <readHost host="hostS2" url="192.168.56.123:3306" user="root" password="123456" />
        18 
        19                 </writeHost>
        20    </dataHost>
        21 
        22 
        23 </mycat:schema>
        点击查看
    12. 配置登录mycat的权限server.xml
      1.  1 <!DOCTYPE mycat:server SYSTEM "server.dtd">
         2 <mycat:server xmlns:mycat="http://io.mycat/">
         3 
         4         <system>
         5                 <!-- 这里配置的都是一些系统属性,可以自己查看mycat文-->
         6                 <property name="defaultSqlParser">druidparser</property>
         7                 <property name="charset">utf8</property>
         8         </system>
         9 
        10 
        11         <user name="root">
        12                 <property name="password">123456</property>
        13                 <property name="schemas">mycat</property>
        14         </user>
        15 
        16 
        17 
        18 </mycat:server>
        点击查看
    13. 启动mycat:  mycat console
      1. 可能会遇到启动的时间过长,启动失败,开一修改一下启动时长的配置
    14. 启动成功后开始测试,在idea中执行怎删改查
      1. 1 #    url: jdbc:mysql://localhost:3306/kg
        2     url: jdbc:mysql://192.168.56.124:8066/mycat?characterEncoding=UTF-8  #测试用
        3 
        4 把以前的访问地址换为mycat的配置,
        点击查看

           

    5,搭建tomcat的集群

    1. 复制三台主机,配置ip地址
      1. tomcat1:  192.168.56.125
      2. tomcat2:  192.168.56.126
      3. tomcat3:  192.168.56.127
    2. 上传nginx解压并编译(必须要安装gcc包[yum install gcc]   来编译nginx包 )
      1.  yum install gcc
      2. yum -y install pcre-devel(安装依赖环境)
      3. yum -y install zlib-devel (安装依赖)
      4. ./configure:  在nginx解压文件夹下编译
    3. make &  make  install  (安装,默认路径/usr/local/nginx)

    4. 配置
      1. 1 /usr/local/nginx/sbin
        2 [root@localhost sbin]# ./nginx
        启动nginx
      2. http://192.168.56.128/  (nginx默认端口号80,直接输入地址启动,正确访问就可以了)
      3. 停止:  ./nginx -s stop
    5. 修改nginx的配置文件
      1. [root@localhost conf]# vim nginx.conf

      2.  1         #配置tomcat的分布式的tomcat和端口号
         2         upstream tomcat-servers {
         3                 #ip_hash;
         4                 server 192.168.56.125:8085;
         5                 server 192.168.56.126:8086;
         6                 server 192.168.56.127:8087;
         7         }
         8 
         9         #原有的配置访问的是index.html
        10 
        11        # location / {
        12        #     root   html;
        13        #     index  index.html index.htm;
        14        # }
        15         #配置nginx默认去访问配置好的tomcat
        16         location / {
        17                  proxy_pass http://tomcat-servers;
        18                  proxy_redirect    off;
        19                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        20                  proxy_set_header X-Real-IP $remote_addr;
        21                  proxy_set_header Host $http_host;
        22                  proxy_next_upstream http_502 http_504 error timeout invalid_header;
        23         }
        点击查看
    6. 配置完成之后重启nginx,直接访问nginx就可以了
    7. nginx默认是通过轮询的方式进行访问的
      1. 负载均衡的策略一共有6这种
      2. 具体的配置后期补充(待完善)

    6,搭建redis集群:

    1.  上传redis并解压,在解压文件夹下执行make命令进行编译
    2.  安装:   make install PREFIX=/usr/redis
    3. 在/usr/redis/bin启动:  启动
    4. 新建窗口启动操作redis:  ./redis-cli -h 192.168.56.129 -p 6379(redis的端口号是6379)
      1. 可以直接执行:  ./redis-cli -h,如果是在原唱访问的时候执行上边的命令;
      2. 注意的问题是redis必须要开放远程访问,不然的换就用本地连接
      3. 1 [root@localhost ~]# cd /usr/redis/bin/
        2 [root@localhost bin]# ./redis-cli -h 192.168.56.129 -p 6379
        3 192.168.56.129:6379> set name xiaohei
        4 (error) DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
        5 192.168.56.129:6379>
        6 [root@localhost bin]# ./redis-cli
        7 127.0.0.1:6379> set name xiaohei
        8 OK
        9 127.0.0.1:6379>
        点击查看
    5.  就可以直接操作操作redis库了
    6. 将解压包中redis的配置文件复制到安装目录下,进行端口号的配置
      1.  1 [root@localhost redis-4.0.10]# cp redis.conf /usr/redis/
         2 [root@localhost redis-4.0.10]# cd /usr/redis/
         3 [root@localhost redis]# ls
         4 bin  redis.conf
         5 [root@localhost redis]# vim redis.conf
         6 
         7 #通过/port进行查找vim中的关键字
         8 #启动的时候注意,加载一下配置文件
         9 [root@localhost redis]# cd bin/
        10 [root@localhost bin]# ./redis-server ../redis.conf
        11 #如下可见端口号被给为了6380
        12                 _._
        13            _.-``__ ''-._
        14       _.-``    `.  `_.  ''-._           Redis 4.0.10 (00000000/0) 64 bit
        15   .-`` .-```.  ```/    _.,_ ''-._
        16  (    '      ,       .-`  | `,    )     Running in standalone mode
        17  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6380
        18  |    `-._   `._    /     _.-'    |     PID: 5460
        19   `-._    `-._  `-./  _.-'    _.-'
        20  |`-._`-._    `-.__.-'    _.-'_.-'|
        21  |    `-._`-._        _.-'_.-'    |           http://redis.io
        22   `-._    `-._`-.__.-'_.-'    _.-'
        23  |`-._`-._    `-.__.-'    _.-'_.-'|
        24  |    `-._`-._        _.-'_.-'    |
        25   `-._    `-._`-.__.-'_.-'    _.-'
        26       `-._    `-.__.-'    _.-'
        27           `-._        _.-'
        28               `-.__.-'
        点击查看
      2. 更改后 也可以正常访问
      3. [root@localhost bin]# ./redis-cli -p 6380
        127.0.0.1:6380>

    7. 修改redis默认库的数量(默认16个):  databases 5
    8. 修改是否以后台进程方式启动(默认no):  daemonize yes
      1. 1 [root@localhost bin]# ./redis-server ../redis.conf
        2 5474:C 20 Nov 19:47:16.718 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
        3 5474:C 20 Nov 19:47:16.718 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=5474, just started
        4 5474:C 20 Nov 19:47:16.718 # Configuration loaded
        5 [root@localhost bin]# ps -aux|grep "redis"
        6 root      5466  0.0  0.5  16316  5388 pts/0    S+   19:38   0:00 ./redis-cli -p 6380
        7 root      5475  0.0  0.7 145316  7576 ?        Ssl  19:47   0:00 ./redis-server 127.0.0.1:6380
        8 root      5481  0.0  0.0 112728   972 pts/1    R+   19:47   0:00 grep --color=auto redis
        后台启动并查看进程
      2. 后台启动通过杀死进程关闭:  kill -9 5475(进程编号)
    9. 连接redis的可视化工具:
      1. 将配置文件中(默认127.0.0.1):  bind 0.0.0.0(所有的人都可以访问)
      2. 不错的免费可视化工具:  高速下载:http://129.204.188.247/download/
      3. 连接进行操作就完事了,安装成功!
    10. java的API操作redis (jedis的jar包):
      1.  1 #导入依赖
         2     <!--操作redis的相关依赖-->
         3     <dependency>
         4       <groupId>redis.clients</groupId>
         5       <artifactId>jedis</artifactId>
         6       <version>2.9.0</version>
         7     </dependency>
         8   </dependencies>
         9 
        10 #操作jedis的API
        11 public class TestJedis {
        12 
        13     //操作字符串
        14     @Test
        15     public   void   test1(){
        16 
        17         /*
        18         * 开启redis的远程访问全限   redis.conf 配置文件开启
        19                    bind 0.0.0.0
        20         * */
        21         //创建redis客户端
        22         Jedis jedis = new Jedis("192.168.92.19", 7000);
        23         //选择操作哪一个库  使用0号库   name  xiaohei
        24         jedis.select(0);
        25        // jedis.set("name","xiaohei");
        26         //jedis.append("name","特别黑真的特别黑");
        27         jedis.del("name");
        28         String name = jedis.get("name");
        29         System.out.println(name);
        30         //关闭客户端
        31         jedis.close();
        32     }
        33 
        34     //操作list集合
        35     @Test
        36     public  void   test2(){
        37         //创建客户端
        38         Jedis jedis = new Jedis("192.168.92.19", 7000);
        39         jedis.select(0);
        40         //存储list集合
        41        // jedis.lpush("names","xiaohei","xiaobai","xiaohua","xiaojr");
        42        // jedis.lpop("names");
        43         String names = jedis.lindex("names", 0);
        44         System.out.println(names);
        45         //遍历
        46      /*   List<String> names = jedis.lrange("names", 0, -1);
        47         for (String name : names) {
        48             System.out.println(name);
        49         }*/
        50         jedis.close();
        51 
        52     }
        53 
        54 }
        点击查看
    11. redis在项目中进行使用:
      1. 主要的配置和测试
      2.  1 #本次演示在springboot中:
         2 
         3 #先导入依赖:
         4     <!--引入redis的依赖-->
         5     <dependency>
         6       <groupId>org.springframework.boot</groupId>
         7       <artifactId>spring-boot-starter-data-redis</artifactId>
         8     </dependency>
         9 
        10 #yml配置文件
        11 spring:
        12   redis:
        13     database: 0             #访问redis指定的数据库
        14     host: 192.168.56.129    #访问redis的ip
        15     port: 6380              #访问的端口号
        16 
        17 #测试类中的方法
        18 #第一个将序列化的对象存入到数据库中,再通过反序列化将redis中的数据取出来
        19 #第二个是通过操作字符串进行存取
        20 @RunWith(SpringRunner.class)
        21 @SpringBootTest(classes = Application.class)
        22 public class TestDAO {
        23 
        24     @Autowired
        25     private RedisTemplate redisTemplate; //操作返回的是对象
        26     @Autowired
        27     private StringRedisTemplate redis; //操作返回的是字符串
        28     //还有很多方法就不列举了,具体的查询API
        29     @Test
        30     public void redis(){
        31         redis.opsForValue().set("000","lili");
        32     }
        33 }
        点击查看

     上边只是搭建了简单的redis,真正到搭建redis集群的时候了,redis自身是支持分布式的:

    1.  因为是要代替项目中mybatis的二级缓存,所以必须对mybatis的一级缓存有所了解
    2. 先建立一个项目,搭建springboot+mybatis的环境,然后再mapper.xml中配置二级缓存mapper标签下加一个<cache/>
    3. 在加入缓存后,必须在实体了中表明序列化,不然报错:
      1. 1 org.apache.ibatis.cache.CacheException: Error serializing object.  Cause: java.io.NotSerializableException: com.baizhi.entity.Acount
        2 
        3     at org.apache.ibatis.cache.decorators.SerializedCache.serialize(SerializedCache.java:102)
        4     at org.apache.ibatis.cache.decorators.SerializedCache.putObject(SerializedCache.java:56)
        5     at org.apache.ibatis.cache.decorators.LoggingCache.putObject(LoggingCache.java:51)
        点击查看
      2. 为了能看到日志将logback.xml文件放在resources下就可以了
        1.  1 <?xml version="1.0" encoding="UTF-8" ?>
           2 <configuration>
           3     <!--name代表设置的标识-->   <!--指定日志输出的位置 控制台中输出 -->
           4     <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
           5         <!--定义项目的日志输出格式-->
           6         <layout class="ch.qos.logback.classic.PatternLayout">
           7             <pattern> [%p] %d{yyyy-MM-dd HH:mm:ss} %m %n</pattern>
           8         </layout>
           9     </appender>
          10 
          11     <!--全局配置    项目中跟日志控制-->
          12     <root level="INFO">
          13         <appender-ref ref="stdout"/>
          14     </root>
          15     <!-- 项目中指定包日志控制&ndash;&gt;-->
          16     <logger name="com.baizhi.dao" level="DEBUG"/>
          17     <logger  name="com.baizhi.service" level="DEBUG"/>
          18     <logger  name="org.springframework.jdbc" level="DEBUG"/>
          19 </configuration>
          点击查看
    4.  修改成自己配置好的分布式缓存类
      1. 1 //首先实现mybatis的缓存类接口
        2 import java.util.concurrent.locks.ReadWriteLock;
        3 
        4 public class RedisCache implements Cache {...)
        5 
        6 //将实现类接口加入到自己的mybaits的mapper文件中
        7 <cache type="com.baizhi.cache.RedisCache"/>
        点击查看
    5. 配置主要的环境:
      1. 全部在连接中:
  • 相关阅读:
    B
    A
    【转】通过身边小事解释机器学习是什么?
    【转】什么是无监督学习?
    机器学习中的监督学习和无监督学习
    经典传染病传播模型
    复杂网络的主要研究内容
    网络科学导论【第一章】读书脑图
    无标度网络模型
    小世界网络模型
  • 原文地址:https://www.cnblogs.com/Consola/p/11889357.html
Copyright © 2011-2022 走看看