再一次centos7下安装tomcat、jdk、nginx、redis、docker与配置各自的自启动

注:以下的所有配置,如需外部访问,都需要使用防火墙开启对应端口,开启端口指令如下:

firewall-cmd --zone=public --add-port=***/tcp --permanent (***则是端口)

然后重启防火墙

1、jdk的注意事项

1)查看是否有自带jdk

java -version:如果有则删除,没有则进行第2)步

查看java文件:rpm -qa | grep java

进行删除:rpm -e --nodeps ****(***则是上面查出来的文件名)(注:noarch文件可以不用删除)

2)安装jdk后,编辑环境变量配置文件:vim /etc/profile,在该文件中添加java的环境变量,如下:

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_201
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

3)使环境变量文件立即生效

source /etc/profile

查看是否安装成功:java -version

2、安装docker(参考之前的文章)之后,只在docker中安装mysql即可(据说mysql在centos7中收费了,因此我将其放在docker中)

1)我pull的docker.io/mysql:5.6版本,然后创建三个/data/mysql/data,/data/mysql/conf,/data/mysql/logs/文件夹,用于mysql的文件挂载,执行如下指令运行mysql容器:

docker run --privileged=true -p 3306:3306 --name mysql57-1 -v /data/mysql/data/:/var/lib/mysql -v /data/mysql/conf/:/etc/mysql/conf.d -v /data/mysql/logs/:/logs -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.7

--privileged=true:加上这个最保险,之前遇见不加这个,运行不成功,log中显示没有权限

3、安装redis之后

1)将redis.conf,redis-server,redis-cli复制到新建的redis文件中,修改redis.conf文件的以下参数:
注释掉 bind 127.0.0.1

将 protected-mode 修改为 no,不然外部无法连接

将 daemonize 修改为yes,后台运行

另外我将dump文件的目录修改了一下:dir /usr/local/redis/redis/dump/

2)使用复制出来的redis.conf文件启动,上面的修改也是改文件

4、安装tomcat,没有可说的,应该算最简单的一个,也不需要配置

5、安装nginx之后

1)nginx的操作有(到sbin目录下):

./nginx :启动nginx

./nginx -s stop:停止nginx

./nginx -s reopen:重启nginx

2)如果要使用nginx的反向代理,可以使用SwitchHosts软件修改域名映射(这个域名可以随便定义,不过不要定义互联网已经使用过的,因为这个域名只能本地解析)如:192.168.**.** www.123xx.com即可实现域名与本地ip映射,经过映射后,即可使用域名:8080访问tomcat

3)如果想要使用域名直接访问tomcat,就需要使用nginx的反向代理即可

6、将以上所有服务设置为开机启动

1)docker设置为开机启动:systemctl eable docker.service

2)将docker中的容器设置为开机启动:docker update --restart=always ***(容器id)

3)进入/usr/lib/systemd/system/ 这个目录

4)添加my-nginx.service文件,内容如下:

[Unit]
Description=nginx
After=network.target #在什么服务之后运行
[Service]
Type=simple
PIDFile=/usr/local/nginx/logs/nginx.pid #管道文件,绝对路劲
ExecStart=/usr/local/nginx/sbin/nginx  #开启指令
ExecStop=/usr/local/nginx/sbin/nginx -s stop #停止指令
ExecReload= /usr/local/nginx/sbin/nginx -s reload #重启
PrivateTmp=true
[Install]
WantedBy=multi-user.target #这个很重要,这样设置好就行

①如果nginx在运行则执行:systemctl restart my-nginx.service

②如果成功,说明配置没有问题,再执行:systemctl enable my-nginx.service 这是将ningx加入开机启动中

③如果①失败了,则systemctl status my-nginx.service查看失败原因

④如果①的时候,服务没有运行,直接systemctl start my-nginx.service即可

5)添加my-redis.service,内容如下:

[Unit]
Description=redis
After=syslog.terget
After=network.target
[Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/redis/redis-server /usr/local/redis/redis/redis.conf #以我们复制后的那个文件为启动的配置文件
ExecStop=/usr/local/redis/redis/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target

后续执行同4)

6)添加my-tomcat.service

[Unit]
Description=tomcat
After=docker.service
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
# 此处之前添加了一个PIDFile,但是发现没有他也可以
ExecStart=/usr/local/tomcat/apache-tomcat-7.0.57/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

另外好像还需要在 tomcat的bin目录下的setclasspath.sh和catalina.sh文件中添加如下代码:

export JAVA_HOME="/usr/local/jdk/jdk1.8.0_201"

后续命令同上

最后重启reboot虚拟机试一下是否成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值