注:以下的所有配置,如需外部访问,都需要使用防火墙开启对应端口,开启端口指令如下:
firewall-cmd --zone=public --add-port=***/tcp --permanent (***则是端口)
然后重启防火墙
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
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中显示没有权限
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文件启动,上面的修改也是改文件
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的反向代理即可
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虚拟机试一下是否成功