记录一下一台刚重装系统的linux(centos7.2)服务器,安装各种java应用需要的环境
首先下载jdk:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
把下载的文件上传到服务器,用工具上传就行了,哪个工具无所谓。
把jdk下载的文件上传到home。同时在usr目录下新建java文件夹,用来安装jdk文件
然后cd到这个文件夹里面,ls一下看是不是有了
有上传的安装包之后在当前目录输入 tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/java
解压安装包到usr/java
目录,
然后cd到java文件夹,就可以看到加压后的文件jdk1.8.0_191
接下来配置环境变量,输入:vim /etc/profile
进入编辑模式,先按i
键进入编辑模式,然后把光标移动到最后面,在文件末尾加上:
JAVA_HOME=/usr/java/jdk1.8.0_191
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
注意:JAVA_HOME=/usr/java/jdk1.8.0_191 粗体部分是自己的jdk安装目录。
然后按Esc
键退出编辑模式,再输入:wq
并回车,表示保存并退出
退出之后输入:source /etc/profile
重新加载配置文件
然后java -version
查看安装情况,一般情况下肯定是安装成功的。
jdk到此安装完成
安装nginx需要几个前提:
yum install gcc-c++
, 安装过程会让你确认,直接y
yum install -y pcre pcre-devel
Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:
1. You have an upgrade for pcre which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of pcre of the
different architecture. If you exclude the bad architecture
yum will tell you what the root cause is (which package
requires what). You can try redoing the upgrade with
--exclude pcre.otherarch ... this should give you an error
message showing the root cause of the problem.
2. You have multiple architectures of pcre installed, but
yum can only see an upgrade for one of those architectures.
If you don't want/need both architectures anymore then you
can remove the one with the missing update and everything
will work.
3. You have duplicate versions of pcre installed already.
You can use "yum check" to get yum show these errors.
这个原因是因为:pcre包重复,输入命令:rpm -qa | grep pcre
,看到了两个pcre,所以卸载一个pcre:yum remove pcre-8.32-15.el7_2.1.i686
,然后再重新执行上面的安装命令就可以了。
yum install -y zlib zlib-devel
rpm -qa | grep zlib
yum remove zlib-1.2.7-15.el7.i686
然后重新执行
yum install -y openssl openssl-devel
然后这四个都安装完成之后,下载nginx安装包:http://nginx.org/en/download.html 注意下载Stable version稳定版
下载完成后上传到home目录,然后再usr下面创建nginx目录,在home目录运行:tar -zxvf nginx-1.14.2.tar.gz -C /usr/nginx
然后解压完成后进入nginx目录输入命令:
./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
这是将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx等各个目录,具体在上面这个配置里面有,就是后面5行对应的目录,去创建一下就好了。这是自定义的配置,根据个人情况,我这里使用了这个配置。
然后在解压后的nginx目录输入命令:make && make install
没什么问题的就安装好了,然后输入:whereis nginx
查看niginx的安装目录,我这里的话正常的安装结果是nginx: /usr/local/nginx
然后启动nginx
如果要修改nginx就在:/usr/local/nginx/conf/nginx.conf
修改此文件
启动、停止nginx等操作
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop 此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程
./nginx -s quit 此方式停止步骤是待nginx进程处理任务完毕进行停止
./nginx -s reload 当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止nginx再启动 nginx 即可将配置信息在nginx中生效
然后访问安装nginx的服务器地址,因为nginx默认80端口,所以浏览器直接访问就能看到Welcome to nginx!
开机自启动:vi /etc/rc.local
,增加一行 :/usr/local/nginx/sbin/nginx
,设置执行权限:chmod +x /etc/rc.d/rc.local
下载安装包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
在这里选择对应的版本下载安装包,具体就不说了很简单的。
下载后把压缩包上传到服务器的home目录
然后检查服务器系统:
rpm -qa | grep mariadb
rpm -e --nodeps mariadb文件名
rpm -qa | grep -i mysql
,卸载 mysql 数据库:rpm -e mysql文件名
# 如果有关联文件,不能直接卸载。可以用一下命令强制卸载:rpm -e --nodeps mysql文件名
rm /etc/my.cnf
(如果有的话)然后把上传的压缩包解压,在home目录输入命令:tar -xvf mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
然后再解压得到的文件夹下面依次执行下面的命令,一次一行,这几个文件是存在依赖关系的,所以在安装时有对应的优先级,需要按顺序安装:
rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.24-1.el7.x86_64.rpm
但是在第四行命令执行时出现了错误:
warning: mysql-community-server-5.7.24-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.24-1.el7.x86_64
libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.24-1.el7.x86_64
libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.24-1.el7.x86_64
有两种解决办法,我也不清楚具体原因,我用的第一种:
执行这个命令:yum install libnuma*
在第四行命令后面加上:--force --nodeps
,就是把第四行命令变成:rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm --force --nodeps
然后把上面5个都执行完,安装成功后,执行:systemctl start mysqld.service
但是执行的时候出现错误:
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
这个错误我之前没出现过,这次突然出现了,查了半天,查到了解决方法:mysqld --initialize –user=mysql –datadir=/var/lib/mysql
然后执行systemctl start mysqld.service
然后又报错
mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
解决方法:
如果已经安装了libnuma.so.1,先yum remove libnuma.so.1
,然后yum install numactl.x86_64
然后应该就可以了,再执行一次systemctl start mysqld.service
,没报错。可以了
然后执行:/usr/sbin/mysqld --initialize --user=mysql
初始化表,但是又报错了
2018-12-24T07:02:02.364159Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please u se --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-12-24T07:02:02.365924Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2018-12-24T07:02:02.365955Z 0 [ERROR] Aborting
这个解决方法是:
explicit_defaults_for_timestamp=true
这句话/usr/sbin/mysqld --initialize --user=mysql
2018-12-24T07:03:27.260043Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2018-12-24T07:03:27.260100Z 0 [ERROR] Aborting
问题原因是mysql在进行初始化的时后,会检测数据目录是否存在,如过不存在,mysql会创建它, 如果存在,而且这个目录里有数据,mysql会报错,并且终止初始化
所以我们这里是新装mysql数据库,直接执行:rm -fr /var/lib/mysql
然后再执行/usr/sbin/mysqld --initialize --user=mysql
就可以了。
mysql5.7初始化后,会产生一个 临时登录密码,前面在 my.cnf 文件中配置的日志路径是 log-error=/var/log/mysqld.log, 查看此路径下面的 mysqld.log 日志, 可以找到临时密码,在这个文件中搜索password关键字就可以找到了:
cat /var/log/mysqld.log | grep password
使用初始密码登录mysql:
mysql -uroot -p
然后有报错了,无语,,,,,
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
然后网上查到:ps -A|grep mysql
然后把显示的进程全部杀掉,我只显示了一个,所以kill -9 显示的进程
然后再试,竟然就好了。。。。。
接着使用如下命令修改密码:
mysql> set password=password('新密码');
mysql> flush privileges; #刷新
添加远程访问权限
mysql> use mysql
mysql> update user set host='%' where user='root';
mysql> select host,user from user;
mysql> flush privileges;
mysql> quit
systemctl restart mysqld.service #退出mysql,重启mysql服务生效
当然你要给你的服务器放开3306的访问权限,然后本地用navicat测试连接没连接成功,终于把这个玩意装好了,装个mysql都能累死人。
最后再补一个mysql开机自启动,按着下面的步骤执行:
whereis mysql
显示出你的mysql安装路径,比如我的是:mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
vi /usr/lib/systemd/system/mysql.service
进入编辑模式复制下面的代码进去,保存。注意ExecStart里的路径要跟你的mysql安装路径一致 [Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/bin/mysql --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false
systemctl restart mysql
systemctl enable mysql
首先下载Redis安装包:https://redis.io/download 记得下载Stable 稳定版
下载好之后上传到home文件夹,在usr目录下创建文件夹redis
执行解压:tar -zxvf redis-5.0.3.tar.gz -C /usr/redis
然后cd到/usr/redis/redis-5.0.3/目录下,执行:make
对Redis解压后文件进行编译,完成后进入进入src文件夹,执行make install
进行Redis安装
没什么问题就是安装成功了,然后进行配置
为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中。
创建文件夹执行:mkdir -p /etc/redis
然后把redis.conf移动到创建的文件夹:mv /usr/redis/redis-5.0.3/redis.conf /etc/redis
然后修改redis后台启动,执行:vi /etc/redis/redis.conf
或者使用工具修改,修改该文件的daemonize 为yes,在文件中搜索daemonize,把后面的no改成yes,然后保存
daemonize:yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程
启动redis执行:/usr/local/bin/redis-server /etc/redis/redis.conf
如果没报错,执行:ps -ef | grep redis
查看redis端口如果出现:
root 31820 1 0 10:48 ? 00:00:00 /usr/local/bin/redis-server 127.0.0.1:6379
root 31833 23022 0 10:48 pts/0 00:00:00 grep --color=auto redis
启动redis: redis-server redis-conf
关闭redis: redis-cli shutdown
进入redis命令界面:redis-cli
当设置密码后,上面的关闭命令无效:带密码输入: redis-cli -a [password] 回车后输入:shutdown
即可关闭redis,输入exit 退出。
表示启动成功!redis安装完成
下载tomcat:https://tomcat.apache.org/download-90.cgi
下载后上传到linux服务器,解压到/usr/tomcat
在压缩包目录执行:tar -zxvf apache-tomcat-9.0.33.tar.gz -C /usr/tomcat
然后在tomcat目录的bin目录下 sh startup.sh
启动tomcat
sh shutdown.sh
关闭
sh startup.sh
开启