失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 个人网站搭建时linux中的相关配置记录(mysql jdk nginx redis)

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

时间:2022-08-15 04:58:00

相关推荐

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

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

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

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

二:

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

a. 下载mysql安装包(链接: /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 mysqlf. 赋予权限:

[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-f /etc/f

[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

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

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

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

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

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

lower_case_table_names=1

修改数据库账号名密码:/u013510614/article/details/50506676 5.7版本:/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参考文章:/u011270458/article/details/78539348;/ldy1016/article/details/49227247 2. 配置jdk: a. 下载相应版本的jdk包:(这里是我的jdk1.8:链接: /s/1TpM4vzXNd9hGHI6Rw-84cw 密码: iucs) b. 将压缩包放在 /usr/local/java中,解压:[root@mufeng /]#tar -zxvfjdk-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环境变量参考文章:/shihaiming/p/5809553.html

3. 安装nginx a. 下载相应版本的压缩包:链接: /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-develnginx使用zlibhttp包的内容进行gzip:[root@mufeng /]# yum install -y zlib zlib-develnginx不仅支持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 /]#./configurenginx被安装到/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参考文章:/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:daemonizeyes(# 设置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.confcd ..cd 6380./redis-server redis.confcd ..cd 6381./redis-server redis.confcd ..cd 6382./redis-server redis.confcd ..cd 6383./redis-server redis.confcd ..cd 6384./redis-server redis.confcd ..

保存并退出 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 可参考:/snowhite91/article/details/78962436

则[root@iZbp15h7x6vujtklreqtreZ redis_cluster]# wget https://rubygems.global./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

解决方法参考:/FengYe_YuLu/article/details/77628094 /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 -h127.0.0.1 -p 6379 -a Passw0rd

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

安装也可参考:/007sx/p/7158977.html

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

具体参考:/makang456/article/details/54947193

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

如果觉得《个人网站搭建时linux中的相关配置记录(mysql jdk nginx redis)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。