一、开发计划(包括准备工作,网站大致需求等)

二、服务器(linux/centos)购买、相应环境配置(jdk),软件安装(mysql, nginx, redis)、域名解析

三、原型图、代码开发(vue.js,  springboot)

二:

  1. 安装mysql(压缩包形式)记录(linux)  另一种快捷安装,参考:https://www.cnblogs.com/wishwzp/p/7113403.html

    a. 下载mysql安装包(链接: https://pan.baidu.com/s/1RZzGfEd_AdSMR8UHrFSUjg 密码: yrw3)

    b. 将压缩包拷贝至/usr/local中(我用的xftp)

    c. 安装依赖: [root@mufeng local]# yum -y install perl perl-devel autoconf libaio

    d. 解压: [root@mufeng local]# tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

     重命名解压后的mysql目录: [root@mufeng local]# mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql

    e. 添加用户组和用户: 

        检查mysql组和用户是否存在,如无创建  

           [root@mufeng local]# cat /etc/group|grep mysql
           mysql:x:1000:
           [root@mufeng local]# cat /etc/passwd|grep mysql
           mysql:x:997:1000::/home/mysql:/bin/bash

         若无则:添加用户组:         [root@mufeng local]# groupadd mysql

             添加用户mysql 到用户组mysql:[root@mufeng local]# useradd -r -g mysql mysql
f. 赋予权限:

        [root@mufeng local]# chown -R mysql mysql/
        [root@mufeng local]# chgrp -R mysql mysql/

    g. 安装和初始化数据库:[root@mufeng local]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

    h. 设置启动文件:[root@mufeng local]# cp -a ./support-files/my-default.cnf /etc/my.cnf

            [root@mufeng local]# cp -a ./support-files/mysql.server  /etc/init.d/mysqld

    i. 启动mysql:   [root@mufeng mysql]# service mysqld start

            Starting MySQL.                                            [  OK  ]

    j. 设置开机启动:[root@mufeng mysql]# chkconfig --level 35 mysqld on

    k. 建立软连接(可在任何目录下访问):[root@mufeng bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin

    l. 登录mysql并设置密码(首次无需密码):[root@mufeng bin]# mysql -uroot -p

                        Enter password:

                       mysql> set password = password("root");

                       mysql> flush privileges;     //刷新权限

    m. 添加远程连接的账号、并设置权限:mysql> grant all privileges on *.* to 'zhanghao'@'%' identified by "password";

                      mysql> flush privileges;

                      mysql> select user, password, host from mysql.user;  //查看是否添加成功

    n. 本地连接测试:  

            [root@mufeng bin]# mysql -u zhanghao -p
            Enter password:
            ERROR 1045 (28000): Access denied for user 'mufeng'@'localhost' (using password: YES)

      发现连接不上,但账号密码是正确的,原因:数据库安装初始化时,会创建匿名账户,在本地登录时,会默认去匹配匿名账户,所以此时输入密码,连接时,报密码错误,不输入密码,反而可以直接连接

      解决方法:登录root账号,删除匿名账号:mysql> delete from mysql.user where user='';

           更新新账号的密码:     mysql> update mysql.user set password =PASSWORD('password') where user = 'zhanghao'; 

              刷新权限:           mysql> flush privileges;

           再次连接(输入密码):成功

    o. 远程客户端连接,显示无法连接:

              

      检查端口是否开放:tcping ip 3306 结果:ping不通,解决方法:登录服务器后台,添加安全组入网规则,打开3306端口,再次连接,连接成功。

    p. 当更改了配置文件后,需要重启mysql时,有时会遇到这个问题:

        

      解决方法:查看错误文件:[root@mufeng /]# vi /usr/local/mysql/data/mufeng.err

      找到相应的错误记录:我的是,2018-08-06 09:56:16 2573 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'default-character-set=utf8'

      然后,编辑配置文件:[root@mufeng /]# vi /etc/my.cnf 

        注释掉,或改正,再次重启即可:

        

    数据表区分大小写操作:在配置文件/etc/my.cnf中添加如下(也可参考:https://www.cnblogs.com/kevingrace/p/6150748.html)

                #表名大小写:0为大小写敏感,1为不区分大小写
                lower_case_table_names=1

    修改数据库账号名密码:https://blog.csdn.net/u013510614/article/details/50506676        5.7版本:https://blog.csdn.net/qq_33472557/article/details/77726094

              root账号连接数据库: mysql -u root -p  

                        Enter password:***

              更新密码:     UPDATE mysql.user SET password=PASSWORD("新密码") WHERE user='你的用户名';

                          版本高时,会报错:ERROR 1054 (42S22): Unknown column 'password' in 'field list'

                          原因:版本不同,字段已经更改,使用:

                              update mysql.user set authentication_string=password('新密码') where user='你的用户名'

              刷新权限,否则不会生效:  FLUSH PRIVILEGES;

              退出:        quit

    查看当前用户名密码等信息:  select user, host, authentication_string from mysql.user;

                        

安装mysql参考文章:https://blog.csdn.net/u011270458/article/details/78539348;https://blog.csdn.net/ldy1016/article/details/49227247
2. 配置jdk:
a. 下载相应版本的jdk包:https://www.oracle.com(这里是我的jdk1.8:链接: https://pan.baidu.com/s/1TpM4vzXNd9hGHI6Rw-84cw 密码: iucs)
b. 将压缩包放在 /usr/local/java中,解压:[root@mufeng /]# tar -zxvf jdk-8u161-linux-x64.tar.gz
c. 配置环境变量:vim /etc/profile  
添加如下:
                 JAVA_HOME=/usr/java/jdk1.8.0_60CLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/binexport PATH JAVA_HOME CLASSPATH                    

注意jdk路径,对应自己的路径
重新加载配置文件:source /etc/profile
d. 查看安装情况: [root@mufeng /]# javac -version

              javac 1.8.0_161

       配置成功

    

    配置jdk环境变量参考文章:https://www.cnblogs.com/shihaiming/p/5809553.html

3. 安装nginx
a. 下载相应版本的压缩包:链接: https://pan.baidu.com/s/16yzxJqYv5qDtsHJh_lkEpQ 密码: 47bi
b. 将压缩包放在 /usr/local/中,解压:[root@mufeng /]# tar -zxvf nginx-1.12.2.tar.gz
c. 配置安装nginx需要的环境:
安装 nginx 的编译环境 gcc:[root@mufeng /]# yum install gcc-c++
      nginx的 http模块使用 pcre 解析正则表达式,所以安装 perl 兼容的正则表达式库:
                     [root@mufeng /]# yum install -y pcre pcre-devel
      nginx 使用 zlib 对 http 包的内容进行 gzip:
                   [root@mufeng /]# yum install -y zlib zlib-devel
      nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),如果使用了 https ,需要安装 OpenSSL 库:
                      [root@mufeng /]# yum install -y openssl openssl-devel
    d. 配置(使用默认配置):[root@mufeng /]# cd /usr/local/nginx-1.12.2
                [root@mufeng /]# ./configure
      nginx 被安装到 /usr/local/nginx 下
    e. 编译安装:[root@mufeng /]# make && make install
    f. 配置环境变量:[root@mufeng /]# vim /etc/profile
      在文件最后位置添加:    
                 export NGINX_HOME=/usr/local/nginxexport PATH=$PATH:$NGINX_HOME/sbin        

      重新编译 /etc/profile 文件,使其生效:source /etc/profile

    g.启动nginx:nginx -c /usr/local/nginx/conf/nginx.conf     查看nginx进程:[root@mufeng /]# ps -ef|grep nginx       成功   h.设置nginx开机启动:[root@mufeng /]# vi /etc/rc.local

     在文件最后位置添加:/usr/local/nginx/sbin/nginx

    i.nginx其他命令:
       重启:nginx -s reload                      关闭:nginx -s stop                      查看nginx配置文件的位置:nginx -t

安装nginx参考文章:https://blog.csdn.net/qq_30038111/article/details/79410354
4. 搭建redis集群
cd /usr/local/redis_cluster
a. 集群环境安装:
安装gcc,g++:         [root@mufeng redis_cluster]# yum install gcc g++
安装ruby脚本运行环境:    [root@mufeng redis_cluster]# yum install ruby
安装wget命令:        [root@mufeng redis_cluster]# yum install wget
b. 安装redis:
下载redis: [root@mufeng redis_cluster]# wget http://download.redis.io/releases/redis-3.2.4.tar.gz
解压:        [root@mufeng redis_cluster]# tar -zxvf redis-3.2.4.tar.gz
编译安装到指定目录: [root@mufeng redis_cluster]# cd redis-3.2.4  
[root@mufeng redis_cluster]# make install PREFIX=/usr/local/redis_cluster/redis 
测试,前端启动模式:  [root@mufeng redis_cluster]# /usr/local/redis_cluster/redis/bin/redis-server
ctrl+c退出
c. 编辑配置文件,并启动
从解压后的redis源码目录中复制redis.conf到redis的安装目录:[root@mufeng redis_cluster]# cp ./redis-3.2.4/redis.conf  /usr/local/redis_cluster/redis/bin
编辑刚复制到安装目录的配置文件redis.conf:[root@mufeng redis_cluster]# vi ./redis/bin/redis.conf
把后台运行开启,把原来的NO改成yes:daemonize yes (# 设置yes,redis可以后台运行
bind 127.0.0.1 改为 bind 0.0.0.0  (# 0.0.0.0 代表外网能访问)
protected-mode yes 改为 protected-mode no  (# 改为no,可以外界远程访问,redis 3.2 才追加的一个功能)
(使用技巧:vim打开后,在非insert状态下,输入  /daemonize  回车,便可找到daemonize位置,按n就查找下一个,按下 i键 进入编辑状态,更改后,按下esc键,退出编辑状态,按下shift+; 输入:wq,保存退出)
使用配置文件,后台启动:[root@mufeng bin]# ./redis-server redis.conf
打开客户端:[root@mufeng bin]# ./redis-cli
退出:quit
d. 集群搭建准备:
创建6个redis实例:  
持久化文件删掉:[root@mufeng redis_cluster]# cd redis/bin
[root@mufeng bin]# rm -f dump.rdb
            创建多个实例:   [root@mufeng bin]# cd .. //返回上一级目录

                    [root@mufeng redis]#cp -r bin ../redis_cluster/6379

                    [root@mufeng redis]#cp -r bin ../redis_cluster/6380

                    ......

                    [root@mufeng redis]#cp -r bin ../redis_cluster/6384

        编辑各个实例下面的配置文件,修改两处,第一修改端口号(port:6379,6380,...,6384),

                          第二打开cluster-enable前面的注释  (# 开启集群,把注释#去掉)

        复制脚本到redis-cluster目录下:[root@mufeng redis]# cp /usr/local/redis_cluster/redis-3.2.4/src/*.rb  /usr/local/redis_cluster/

        创建redis集群启动的脚本,来便捷的启动6个实例:[root@mufeng redis_cluster]# vim startall.sh

          内容如下:

cd 6379
./redis-server  redis.conf
cd  ..
cd 6380
./redis-server  redis.conf
cd  ..
cd 6381
./redis-server  redis.conf
cd  ..
cd 6382
./redis-server  redis.conf
cd  ..
cd 6383
./redis-server  redis.conf
cd  ..
cd 6384
./redis-server  redis.conf
cd  ..

        保存并退出  wq!;编辑脚本权限:[root@mufeng redis_cluster]#  chmod +x startall.sh

        利用脚本启动redis集群:[root@mufeng redis_cluster]#  ./startall.sh

        查看各个实例的运行状态:ps aux|grep redis

      e. 集群正式搭建:

        安装redis:[root@mufeng redis_cluster]#  gem install redis

          可能:-bash: gem: command not found   则:安装redis集群工具和环境

               则 [root@iZbp15h7x6vujtklreqtreZ redis_cluster]# yum install ruby && yum install -y rubygems

          可能:ERROR:  Could not find a valid gem 'redis' (>= 0) in any repository     可参考:https://blog.csdn.net/snowhite91/article/details/78962436

             则 [root@iZbp15h7x6vujtklreqtreZ redis_cluster]# wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem

           有一次安装时,还出现了:While executing gem ... (Zlib::BufError)     buffer error 错误

              没有找到原因,但最后 把redis_cluster目录下的 所有rm -rf redis-3.2.1.gem文件删除后,此错误消失了

          此时可能会报错(我遇到了):Redisredis requires Ruby version >= 2.2.2

          解决方法参考:https://blog.csdn.net/FengYe_YuLu/article/details/77628094    https://blog.csdn.net/zhaoyahui_666/article/details/78716511

        开放端口:6379-6384,集群总线端口16379-16384

        创建集群(下边的ip地址改为自己的公网ip,不要写127.0.0.1,否则外部无法访问):

             [root@mufeng redis_cluster]# ./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

       运行上面命令后会出现,询问:输入 yes,即可

        --replicas 1表示主从复制比例为 1:1,即一个主节点对应一个从节点;然后,默认给我们分配好了每个主节点和对应从节点服务,以及 solt 的大小,因为在 Redis 集群中有且仅有 16383 个 solt ,默认情况会给我们平均分配,当然你可以指定,后续的增减节点也可以重新分配。

      f. 集群设置密码,实现外部安全访问

          首先上一步的IP必须是公网的ip

          更改各个实例的配置文件redis.conf,分别添加:requirepass  yourpassword

6个实例添加的要相同
删除掉每个实例中的nodes.conf文件,
查看所有redis进程:[root@mufeng redis_cluster]# ps aux|grep redis
kill掉这6个进程:kill -9 pid
然后重新启动6个redis实例:[root@mufeng redis_cluster]# ./startall.sh
测试:不输入密码时,会提醒需要密码,

              输入密码,再次测试,成功;

              

      其他问题:有时需要重新搭建时,遇到此问题:[ERR] Node 39.108.145.103:6381 is not empty. Either the node already knows other nodes (check with C

           解决方法:删除掉节点下 aof、rdb结尾的文件,重新执行e中的创建集群命令即可

      g. 连接测试  [root@mufeng 6379]# ./redis-cli -c -h 127.0.0.1 -p 6379 -a Passw0rd

        只有加入 “-c” 才会启动集群模式,不然会报错:(error) MOVED 5798 39.108.145.103:6380

        

      安装也可参考:https://www.cnblogs.com/007sx/p/7158977.html

  5. 由于服务器配置太低,现将redis集群改为reids单机版,以减少内存

    具体参考:https://blog.csdn.net/makang456/article/details/54947193

6. 遇到的问题:
数据表区分大小写:https://blog.csdn.net/wangshuai6707/article/details/52168467
登录mysql时-bash: mysql: command not found:https://blog.csdn.net/TROY_Musou/article/details/80336059
搭建redis集群时:e中遇到的问题:https://blog.csdn.net/zhaoyahui_666/article/details/78716511
f中遇到的问题:https://blog.csdn.net/vtopqx/article/details/50235737   

转载于:https://www.cnblogs.com/mufengforward/p/9342354.html

个人网站搭建时linux中的相关配置记录(mysql,jdk,nginx,redis)相关推荐

  1. java mysql tomcat my_Linux下java相关配置 tomcat mysql jdk

    最近有个项目要部署到linux上,在网上查了些资料,记下点遇到的问题,以便将来再用. 一:jdk安装 1.通过chmod a+x jdk-1_5_x-rc-linux-i586-rpm.bin命令使其 ...

  2. linux中查看相关日志记录,linux重启查看日志及历史记录 查询原因

    linux系统文件通常在/var/log中下面是对下面常出现的文件进行解释 /var/log/message ---------------------------------------系统启动后的 ...

  3. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块...

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  4. 网站搭建时常用组件及样式

    网站搭建时常用组件及样式 前言 一.CSS 1.div圆角 2.边框阴影 3.div水平分布 4.div水平分布自动换行 5.Transform 6.文本两端对齐 7.针对于不同屏幕大小的样式 7.1 ...

  5. linux中的网络配置

    Linux中的网络配置 1 什么是IP ADDRESS 2 子网掩码 3 ip通信判定 4 网络设定工具 4.1 设置双网卡 4.2 ping命令 4.3 ifconfig命令 4.4 ip addr ...

  6. 安装启动gui卡住_为Kali Linux中的Sqlmap配置 WEB-GUI 界面

    大家好,在本文中,我们将为大家介绍如何为SQLMAP设置Web-GUI界面.这里的Web-GUI,是指借助于浏览器,通过HTTP/HTTPS服务为我们的工具提供的图形用户界面. 在对含有MySQL安全 ...

  7. linux基础配置脚本,Linux中selinux基础配置教程详解

    selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统. 三种模式: Enforcing:强制模式,在selin ...

  8. 2_一、Linux中的网络配置

    Linux中的网络配置 linux下的网络配置 1.什么是IP ADDRESS 2.子网掩码 3.IP 通信判定 4.网络设定工具 5.图形方式设定ip 命令方式设定网络 6.命令方式设定网络 7.管 ...

  9. linux上传oracle压缩包,Linux中从oracle官网下载jdk文件不是标准的gzip格式文件问题...

    http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-lin ...

  10. centos7中安装、配置、验证、卸载redis

    本文介绍在centos7中安装.配置.验证.卸载redis等操作,以及在使用redis中的一些注意事项. 一 安装redis 1 创建redis的安装目录 利用以下命令,切换到/usr/local路径 ...

最新文章

  1. for和foreach分析
  2. android字符显示流程图,Android应用层View绘制流程与源码分析
  3. 深入浅出python机器学习_4.3.2_岭回归的参数调节-2_绘制折线图
  4. 在c语言中,字符串topt65的长度是,谭浩强c__程序设计第13章.ppt
  5. Perl常用语法记录
  6. python逻辑表达式3+45and_python入门到精通(一)| python基础语法与各种运算符的使用...
  7. Mysql5.7.2安装教程+下载地址(windows)
  8. xp共享文件夹服务器,xp共享文件夹服务器
  9. python蓝牙模块_Python蓝牙模块lightblue在mac osx 10.8上不起作用
  10. Installations UVA - 1467
  11. 【创新实训】 爬虫开发记录(3):爬取时光网详情页
  12. 使用react-split-pane简单记录
  13. java超大数整除7,Java编写程序:求1-100之间可以被7整除的数的个数,并输出这些数。求大佬...
  14. celery使用post方法解决方案
  15. 特斯拉是l3还是l2_特斯拉是l3还是l2
  16. 2018年c++达内从入门到精通全套教程
  17. 跑分软件测试原理,跑分软件测试性能提升幅度_平板电脑评测-中关村在线
  18. 元素 内外插入 替换 删除 remove detach 克隆 页面加载
  19. IOS之RSA加密解密与后台之间的双向加密详解
  20. 2022全国职业技能大赛-网络安全赛题解析总结⑤(超详细)

热门文章

  1. 电脑播放视频显示运行服务器失败,电脑不能播放视频如何解决?
  2. 学校设备保修维修工单小程序开发制作
  3. IP地址 A\B\C类
  4. adb 连接方式汇总
  5. 【笔记】操作系统题目整理
  6. TP服务器密码修改,tplink路由器怎么改密码?
  7. 计算机网络基础教程第二版答案,计算机网络技术实用教程(第2版)课后习题答案...
  8. L2-016 愿天下有情人都是失散多年的兄妹 (25 分) fill函数、bfs
  9. 福州大学计算机学院奖学金,福州大学奖学金管理规定
  10. lzg_ad: XPE操作系统镜像尺寸优化