宝塔面板搭建Java环境教程

下面介绍CentOS系统服务器安装宝塔面板配置Java环境的方法。演示主机操作系统为CentOS 7.6,宝塔面板为6.9免费版,SSH登录客户端为Xshell 5,需用户自行到官网下载。


安装宝塔

1、安装宝塔需要root账户执行命令

输入命令 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完成后SSH工具中会出现登录地址、用户名和密码信息。

使用上图提示的信息登录宝塔面板




安装MySQL

1、在左边导航栏选择“软件商店”,右边MySQL软件项点击“安装”。


选择“mysql5.6” 或 “mysql5.7”,然后“提交”。


2、增加MySQL账户

在左边导航栏选择“数据库”,在右边栏点击“添加数据库”。


然后点击“提交”。



安装Tomcat

1、在左边导航栏选择“软件商店”,右边Tomcat软件项点击“安装”。


选择“tomcat9”,然后“提交”。




提示:宝塔中安装tomcat时会自动安装对应的JDK版本! tomcat8、9对应jdk1.8

2、配置Tomcat

右边Tomcat软件项点击“设置”


在弹出框中选择“配置修改”。1.增加网页编码参数URIEncoding="UTF-8" 2.修改使用nginx转发后客户端IP写入日志参数%{X-FORWARDED-FOR}i




3、调整Tomcat内存大小

在左边导航栏选择“文件”,右边目录展开路径“根目录/www/server/tomcat/bin/”。

新建在setenv.sh,在文件setenv.sh里面根据服务器内存大小增加如下设置:

JAVA_OPTS="-server -Xms初始化内存大小m -Xmx可以使用的最大内存m "

例如设置Tomcat最大可用512M内存

				
				JAVA_OPTS="-server -Xms512m -Xmx512m " 
				
			




编辑setenv.sh文件,设置Tomcat内存大小。其它优化参数可以参考网上的教程


设置完成后必须重启Tomcat让配置文件生效



4、测试Tomcat

在左边导航栏选择“安全”,在防火墙中将Tomcat的默认端口8080放行。




在浏览器中输入 http://IP地址:8080/显示以下页面即表示安装Tomcat完成。


5、上传轻论坛系统到Tomcat默认的应用目录

在左边导航栏选择“软件商店”,右边Tomcat软件项点击“目录”图标。


在打开的页面中点击“webapps”目录。


全选Tomcat的“webapps”目录自带的几个文件夹,然后按“删除”按钮,将默认的文件夹全部删除。


然后点击“新建”-->“新建目录”,目录名称填写大写“ROOT”。





“提交”后如下图所示。


进入“ROOT”目录图标后点击“上传”按钮,将轻论坛系统安装包上传。








上传完成后点击“解压”,将轻论坛系统解压到ROOT文件夹。





解压完成后可以将“轻论坛系统.zip”压缩包删除了。





6、将宝塔面板解压“轻论坛系统.zip”生成的目录及文件所有者设置为 www(原本为 root),权限为 755。

全选所有的文件和文件夹,然后点击“权限”按钮


所有者选择“www”


修改完成后效果


7、在浏览器中输入 http://IP地址:8080/install 填写轻论坛系统安装信息。


“轻论坛系统”安装完成后可以在“软件商店”--> “Tomcat 9.0.0”-->“设置”-->“服务”里重启Tomcat




安装Nginx

1、在左边导航栏选择“软件商店”,右边Nginx软件项点击“安装”。


选择“nginx1.16”,然后“提交”。

注意:必须选择'编译安装',因为后面需要安装防盗链插件secure link,需要源码目录重新编译


2、宝塔Nginx默认安装脚本不含secure link模块,在保存防盗链设置时会出现以下错误



3、宝塔在编译安装Nginx后,会保留源码。我们可以在Nginx安装脚本上添加secure link模块,然后登录SSH执行安装。

默认安装脚本:/www/server/panel/install/nginx.sh

nginx源码目录:/www/server/nginx/src/

在左边导航栏选择“文件”,右边目录展开路径“根目录/www/server/panel/install/”,找到“nginx.sh”,点击“编辑”。



在打开的文本编辑器找到./configure命令行,演示宝塔版本为249行。在里面添加 --with-http_secure_link_module ,然后保存。



4、打开软件Xshell 5登录服务器,执行安装脚本命令。我们刚才选择“nginx1.16”版本,所以下面脚本参数为1.16

输入命令 sh /www/server/panel/install/nginx.sh install 1.16



执行脚本后开始安装。稍等一会儿安装完毕后。使用 nginx -V 命令 查看版本信息。

输入命令 nginx -V



含有--with-http_secure_link_module说明安装secure link模块成功了。


5、配置Nginx

右边Nginx软件项点击“设置”


在弹出框中选择“配置修改”。在http{}配置项内增加server{}配置项绑定域名

				
				http{
					#.....
					#.....
					#其它参数
					#.....
					#.....
					
					server {
						   listen 80;
						   server_name _;
						   return 404;
					}
					#配置请求转发,将网页访问80端口转发到Tomcat的8080端口
					server{
					        listen  80;
					        server_name bbs.diyhi.com;
				            location /{
				                proxy_set_header Host $host;
				                proxy_set_header X-Real-Ip $remote_addr;
				                proxy_set_header X-Forwarded-For $remote_addr;
				                proxy_pass $scheme://127.0.0.1:8080;
								client_max_body_size 200M; #允许上传文件大小,默认是1M
				                
				
				                proxy_read_timeout 86400s;
				                proxy_http_version 1.1;
				                proxy_set_header Upgrade $http_upgrade;
				                proxy_set_header Connection "upgrade";
				            }
				            
				            #location ~ /(file/topic|file/links)/.*\.(rar|zip|7z|tar|txt|pdf)$ {  
							#指定目录中的特定后缀文件防盗链
							location ~ /(file/topic)/.*\.(mp4|avi|mkv|wmv|wav|rm|rmvb|mp3|flac|ape|zip|rar|7z|txt|docx|doc|pptx|ppt|xlsx|xls)$ {    
								secure_link $arg_md5,$arg_expires;
							    #表示 MD5(密钥 + 不包含主机名和请求参数的剩余部分文件路径 + 过期时间) 1234567890123456是密钥,必须是16位字符并且和管理后台的'基本设置'中'文件防盗链密钥'一致
								secure_link_md5 1234567890123456$uri$arg_expires;
							        
							    #当匹配成功的时候 secure_link 是非空非0的
									
							    # 没有匹配到返回 ""
							    if ($secure_link = "") {
							        return 403;
							    }
									
							    # 没有匹配到返回0
							    if ($secure_link = "0") {
							        return 410;
							    }
							    #文件名重命名
			     				add_header Content-Disposition "attachment;filename=$arg_fileName";
			     						
			     				proxy_set_header Host $host;
			                	proxy_set_header X-Real-Ip $remote_addr;
			                	proxy_set_header X-Forwarded-For $remote_addr;
								proxy_redirect off;
								proxy_pass http://127.0.0.1:8080;	
							}
					}
				}
				
			


修改完成“设置”后重启Nginx让配置文件生效



使用Nginx转发请求后可以将前面防火墙放行的8080端口关闭