在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必须阶段,只有开发环境搭建好了,方可进行开发,良好的开发环境搭建,为后续的开发工作带来极大便利。
对于大公司来说,软件开发环境搭建工作一般是由运维来做,然而,对于小公司来说,这个工作就交给开发人员来做了,如开发经理。不管这个工作是交给运维人员做,还是
交给开发人员做,能确定的是:做这件事的人,一定是个资深的人,如此,方可让开发环境稳定运行,从而为后续的开发提供便利。
现实中,只有极少部分开发人员接触服务器(能接触的人,基本都是开发组长及其以上,或资深开发,小公司除外),然而,对于一个技术人员来说,服务器相关环境搭建是个必
不可少的环节,这就产生了一个矛盾:服务器相关搭建工作是程序员不可或缺技术,但大部分程序员又少接触服务器。鉴于此,本篇文章将详解这个专题,对于没搭建过服务器的开发
人员,初中级开发人员,.NET转java开发人员提供帮助。
本篇文章内容包括:Linux理论与实操,MySQL实操,JDK实操,Tomcat实操和Tomcat实操。
一 Linux环境搭建
本小结侧重于操作,主要内容大致包括:
两大类操作系统简要介绍VMware Workstation Pro 15简要介绍及安装CentOS简要介绍及基于Wi'n'dows 操作系统的安装
(一 )关于操作系统的介绍
1.Windows 系统
Window操作系统,是我们再熟悉不过的系统了。
客户端操作系统:windows xp(已过时),win7,win8,win10服务器操作系统:windows server 2008(R2),windows server 2012(R2),windows server 2016
2.Linux 系统
Linux系统是一款开源的多用户操作系统(开源主要指它的内核),由于开源,从而衍生出不同版本Linux操作系统。它的内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。
它是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。从商业角度来说,分为商业版(收费,如Rechart系列)和非商业版(免费,如CentOS)。
(二)虚拟机
关于虚拟机,当前有两款比较流行:VMware Workstation 和 VirtualBox。
在本篇文章中,我们将选择VMware Workstation Pro 15(Wmware当前最新版本)作为演示虚拟机。
1.下载地址
官网:https://www.vmware.com/products/workstation-pro.html。官网提供了两种不同平台的虚拟机,即windows和linux。
2.序列号
GV7N2-DQZ00-4897Y-27ZNX-NV0TD
3.安装步骤
=》下载虚拟机
由于本次演示是基于windows的,因此下载windows版本的虚拟机
=》安装
下载好的虚拟机安装包如下,双击进行安装。
注意:一般在安装新软件时,尽量把杀毒软件关闭。
弹出界面,选择“下一步”
接受许可协议,下一步
选择安装路径,选择增强版(也可以不选),下一步
下一步
下一步
安装
安装中....
安装结束,输入许可证
输入许可证
重启电脑,安装完毕。
(三) CentOS
Linux镜像官网:https://www.centos.org/download/
从官网,可以看出提供了三种类型的CentOS镜像:
1.DVD ISO:常用版本,包含大部分功能,大小为4.2G左右;
2.Everything ISO:功能最全版本,大小为8.8G左右;
3.Minimal ISO:压缩版本,大小为906M左右,很多功能需要在线安装;
4.无论是哪个版本镜像,均分为32位(x86)和64位(x64);
(四) 安装CentOS
1.启动虚拟机,文件=》新建虚拟机
典型,下一步
选择安装包,下一步
下一步
存储单个文件,下一步
自定义硬件配置
设置内存为8G,关闭
完成
安装准备中(等待60秒,自动安装,不要操作鼠标)
准备中
选择简体中文(中国),继续
基本配置结束后,选择开始安装
安装中
配置Root密码
完成配置
重启
登录
注意:如果安装可视化桌面,请按照如下步骤
软件选择
GNOME
登录
桌面
二 MySQL安装
1 搭建mysql
1.1 官网下载mysql压缩包
下载压缩包时,可以先把安装包下载到本地,再上传到服务器,也可以在linux服务器上wget:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
官网:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1.2 解压gz压缩包
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
1.3 将压缩包移动到 /usr/local/mysql/
mv -v mysql-5.7.26-linux-glibc2.12-x86_64 /usr/lcoal/mysql
1.4 创建用户组和添加用户
groupadd mysql
useradd -r -g mysql mysql
1.5 将安装目录所有者及所属组改为mysql,这个根据自己的目录来
#chown -R mysql.mysql /usr/local/mysql
1.6 在mysql目录下创建data文件夹
#mkdir data
1.7 初始化数据库
#/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
如果出现以下错误是因为5.7版本的初始化命令后面要加 --initialize,如下:
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
1.8 编辑配置文件
配置文件地址:/etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
//skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
1.9 将mysql加入到服务
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
1.10 开机启动
#chkconfig mysql on
1.11 启动mysql
#service mysql start
1.12 设置密码
由于在第7步my.cnf配置文件中取消了密码验证,故登录mysql不需要密码验证。
/usr/local/mysql/bin/mysql -uroot
无密码登录之后,修改密码:
#use mysql;
#update user set authentication_string=password('root') where user='root';
或者#set password=password("root");
#flush privileges;
#exit
1.13 将第7步改为需要密码验证
1.14 添加远程账户
使用root账户登录,并设置远程登录账户
GRANT ALL PRIVILEGES ON *.* to 'Alan_beijing'@'%' IDENTIFIED by 'Shanghai2019' WITH GRANT OPTION
1.15 防火墙设置
方式一:关闭防火墙
//停止
systemctl stop firewalld.service
//禁止开机启动
systemctl disable firewalld.service
方式二:开启端口
//这里发现防火墙是开启的,再来查看防火墙控制的端口
systemctl status firewalld
//查看防火墙控制的端口,发现我想要监听的8081端口没有开启
firewall-cmd --list-all
//永久开启3306端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
//重载防火墙
sudo firewall-cmd --reload
1.16 重启mysql服务
service mysql start
1.17 相关命令
1 .安装numactl和libaio
yum -y install numactl
yum search libaio
yum install libaio
2.配置环境变量
export PATH=$PATH:/usr/local/mysql/bin
3.启动服务
方式一:服务方式
[root@localhost ~]service mysql start
如果服务在启动状态,直接重启服务用以下命令:
[root@localhost ~]service mysql restart
方式二:命令行方式
[root@localhost bin]cd /usr/bin
[root@localhost bin]./mysqld_safe &
4.关闭服务
方式一:服务方式
[root@localhost ~]service mysql stop
方式二:命令行方式
[root@localhost ~]mysqladmin -u root shutdown
5.查看服务
方式一:
[root@localhost bin]ps -ef|grep mysql
方式二:
[root@localhost bin]netstat -nlp
6.进程查询和杀死
(1) ps -ef |grep redis
ps:将某个进程显示出来
-A 显示所有程序。
-e 此参数的效果和指定"A"参数相同。
-f 显示UID,PPIP,C与STIME栏位。
grep命令是查找
中间的|是管道命令 是指ps命令与grep同时执行
这条命令的意思是显示有关redis有关的进程
(2)kill[参数][进程号]
kill -9 4394
kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exit。
exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。当然你也可以使用kill发送其他信号给进程。
7.查看mysql
方法一:status;
方法二:select version();
2 卸载mysql
2.1 RPM包安装方式的MySQL卸载
1.检查是否安装了MySQL组件
# rpm -qa | grep -i mysql
2.卸载前关闭MySQL服务
# service mysql status
# service mysql stop
# service mysql status
3.卸载删除MySQL各类组件
# rpm -ev 组件名
4.收集MySQL对应的文件夹信息
# find / -name mysql
5.收集MySQL对应的文件夹信息
# rm -rf 路径/文件名
6.删除mysql用户及用户组
# more /etc/passwd | grep mysql
# more /etc/shadow | grep mysql
# more /etc/group | grep mysql
# userdel mysql
# groupdel mysql
7.确认MySQL是否卸载删除
# rpm -qa | grep -i mysql
2.2 yum包安装方式的MySQL安装
1.查看yum上提供的数据库可下载版本
# yum list | grep mysql
2.安装mysql.i686,mysql-devel.i686,mysql-server.i686
# yum -y install mysql mysql-server mysql-devel
3.查看是否开机启动
# chkconfig --list | grep mysqld
4.设置为开机启动
# chkconfig mysqld on
5.设置数据库密码
# service mysqld start
# mysqladmin -u root -p password 'root'
2.3 service mysql start出错:unrecognized service的解决办法
[root@ctohome.com ~]# service mysql start
mysql: unrecognized service
[root@ctohome.com ~]# service mysql restart
mysql: unrecognized service
[root@ctohome.com ~]# rpm -q mysql 查询发现mysql已经正常安装
mysql-5.1.52-jason.1
[root@ctohome.com ~]# chmod 755 /etc/rc.d/init.d/mysqld 修改mysqld执行权限
[root@ctohome.com ~]# service mysqld start 搞定
Starting mysqld: [ OK ]
[root@ctohome.com ~]# service mysqld status
mysqld (pid 9487) is running...
2.4 Navicat for mysql远程连接数据库详解(1130错误解决方法)
1.进入MySql控制台: mysql -u root -p
2.弹出Enter password: 输入您的数据库密码
3.执行下命令: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;
4.再执行下下命令: flush privileges;
5.mysql服务启动、停止、重启
(一)启动方式
(1)使用 service 启动:service mysqld start
(2)使用 mysqld 脚本启动:/etc/inint.d/mysqld start
(3)使用 safe_mysqld 启动:safe_mysqld&
(二)停止
(1)使用 service 启动:service mysqld stop
(2)使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
(3)mysqladmin shutdown
(4)杀掉进程:
# ps -ef | grep mysqld
# kill -9 进程号
(三)重启
(1)(使用 service 启动:service mysqld restart
(2)使用 mysqld 脚本启动:/etc/inint.d/mysqld restart
6.mysql 查询的基本命令
1)查看内存
# top
2)mysql的安装路径和运行路径
# whereis mysqld
3)PATH变量指定的路径中,搜索mysql的信息
# which mysqld
4)查看配置文件
# vi /etc/my.cnf
7.解决修改mysql的datadir所引发的错误问题
1)修改datadir指向的文件路径
1))复制默认指定路径里面的文件到新的指定路径的文件夹中
2))修改指定的文件夹的修改权限
2)配置apparmor权限
1))查看apparmor的配置:# vi /etc/apparmor.d/usr.sbin.mysqld
2))配置新路径权限
3)PATH变量指定的路径中,搜索mysql的信息
1))查看selinux的配置:# vi /etc/selinux/config
2))修改配置: SELINUX=disabled
三 JDK安装
1.wget下载安装包
我将jdk安装包下载在/TestPackages/ 目录下
wget url
2.解压jdk安装包
tar xzvf jdk-8u221-linux-x64.tar.gz
解压后
3.配置环境变量
vim /etc/profile.d/java.sh
4.使环境变量生效
source /etc/profile
5.测试jdk是否安装成功
java -version
四 Tomcat安装
以安装tomcat 8 为例
=》进入Tomcat官网,获取Tomcat下载地址
https://tomcat.apache.org/download-80.cgi
=》wget
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz
=》解压
tar -zxvf apache-tomcat-8.5.43.tar.gz
=》启动Tomcat
=>访问Tomcat
用ip访问
五 Redis安装
(一) Redis服务搭建
1.在根路径建立目录 myredis
mkdir myredis
2.进入myredis目录
cd myredis/
3.Redis搭建
(1)下载Redis
wget http://download.redis.io/releases/redis-5.0.4.tar.gz
(2)解压Redis包
tar xzf redis-5.0.4.tar.gz
(3)切换到(2)解压的包
cd redis-5.0.4
(4)编译包
make
Tip:当make命令出错时,请添加如下命令:
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
yum install tcl
(二)Redis服务配置
Redis服务相关配置,主要集中在Redis.conf文件中。 在除此配置Redis服务时,有六个参数是比较重要的:requirepass, bind,port,protected-mode,daemonize,logfile
1.requirepass:配置redis登录密码
redis.conf中,requirepass参数默认是不需要的,即不需要密码登录。
这里,我将其更改为123456
2.bind:配置ip
redis.conf中,bind默认绑定的ip为127.0.0.1
为了让远程能够访问,请使用Linux服务器ip地址代替,查看ip命令:ifconfig
3.port:配置端口号
redis.conf默认端口号为6379,你可以改为你自己的端口号
如下更改为6399
4.protected-mode:设置保护模式
redis.conf的protected-mode默认是开启保护模式的,需要更改为非开启模式
如下设置为不保护模式
5.daemonize
daemonize表示是否在后台启动redis-server,默认表示为非在后台启动服务,将其设置为后台运行
6.logfile
redis.conf的logfile表示redis的配置文件,大家可以理解为sl4j.log等日志文件,
创建文件:myredis.log
vim /myredis/redis-5.0.4/myredis.log
配置logfile参数,其路径为myredis.log路径
(三) 防火墙配置
如下为防火前配置的基本流程
1.查看防火墙状态
防火墙状态为running或not running,若非running,则设置为running
2.向防火墙添加开放端口
firewall-cmd --permanent --zone=public --add-port=6399/tcp
--permanet参数表示永久,否则表示临时
3.加载配置
firewall-cmd --reload
4.查看开启的端口
firewall-cmd --permanent --zone=public --list-ports
5.启动redis服务
需要注意的是,启动服务时,要带上redis配置文件
src/redis-server redis.conf
查看配置文件,发现redis已经启动成功
(四) 访问Redis服务
1.通过xshell访问
src/redis-cli -h 192.168.202.134 -p 6399 -a 123456
如下为成功访问redis的截图
测试一下:
2.通过redisDeskManager来访问redis服务
打开db0,就能看到刚才set 的name
关于redis客户端工具,目前市场上还是比较多的,这里我推荐两款:
RedisDeskManager和RedisClient
(五) 相关命令
(1)关闭redis服务
redis-cli -h ip -p port shutdown