需要部署的环境如下图所示
安装putty之后连接centos服务器。其他软件能用yum安装就用yum安装,有些软件在yum这里版本太旧,可以把官网提供的yum库文件下载到服务器,再用yum安装。比如Mysql,可以右键copy链接地址。
有些软件不支持yum,那我们就去官网下载tar.gz的包,比如apache-maven
需要下载这些包
tomcat的官网是tomcat.apache.org,在左侧选版本,然后选择
我们需要向服务器传文件,通过本地的命令行,
cd到根目录,搜索并安装unzip包,
然后yum list java看java包,找到并复制,然后yum install -y java-latest-openjdk.x86_64,然后java -version查看版本,检查是否安装好了。
接着安装maven,到root目录下,tar -zvxf apache-maven-3.6.1-bin.tar.gz -C /opt解压缩,然后添加环境变量vim /etc/profile
source /etc/profile使环境变量生效并查看版本
到mvn安装目录下的conf,vim settings.xml,添加阿里云镜像。
切换到根目录yum list mysql可以看到它提供的mysql比较旧,所以到root目录下用之前下载的yum库文件mysql
yum install -y mysql80-release-e17-3.noarch.rpm
再切换到根目录下yum list mysql*可以看到多了很多包,找到mysql-community-server.x86_64并安装
yum install mysql-community-server.x86_64
安装完成后systemctl start mysqld启动mysql,systemctl start mysqld可以查看状态。
去日志里找刚才生成的密码grep ‘password’ /var/log/mysqld.log
然后用这个密码去登录Mysql并修改密码
到/root目录下解压unzip -d /root init_sql.zip。再次进入Mysql,create database community然后导入数据
source /root/init_data.sql和source tables_mysql_innodb.sql,改一下用户头像地址。
接下来装redis,yum搜索并安装redis包
systemctl start redis和systemctl status redis启动并查看状态
接着安装kafka,解压到/opt,配置符合linux规范不用改,用后台方式启动zookeeper和kafka,
接着安装elasticsearch,解压到/opt目录下,把ik插件解压到plugins/ik下
到elasticsearch的config目录下,vim elasticsearch.yml
vim jvm.options调整使用内存的大小
elasticsearch不允许用root用户启动,所以建一个普通用户,赋予它软件目录和日志目录的权限,
启动elasticsearch再切回root用户,
检查是否启动成功
接着安装wkhtmltopdf,先搜索包
输入yum install wkhtmltopdf.x86_64安装。但还要装一个xvfb
即yum install -y xorg-xll-server-Xvfb.x86_64。
再测试
为了方便使用,编写一个脚本,vim wkhtmltoimage.sh,
对脚本赋予执行权限
chmod +x wkhtmltoimage.sh
然后就可以这样执行命令
接下来安装tomcat,解压到/opt。vim /etc/profile配环境变量,
source /etc/profile使环境变量生效。
startup.sh启动tomcat,可以打开服务器ip:8080看到网页。
接着装nginx,cd /然后yum list nginx*,然后安装。
配置nginx,vim /etc/nginx/nginx.conf
systemctl start nginx启动nginx,systemctl status nginx查看nginx状态,用服务器Ip访问网页,成功即可。
要部署上线,还要注意浏览器、nginx和tomcat之间的关系
把tomcat安装目录下webapps下的文件夹全删了。
要改application.properties和global.js中的项目路径名
在HomeController里添加方法
@RequestMapping(path = "/",method = RequestMethod.GET)
public String root(){
return "forward:/index"; //转发,使"/"与"/index"等价
}
在pom.xml里添加
<packaging>war</packaging> <!--部署项目需要打包成war包-->
<build>
<finalName>ROOT</finalName><!--打包成的名字(部署项目需要) -->
</build>
划分application-develop.properties和application-produce.properties,logback-spring-develop.xml和logback-spring-produce.xml,而在application.properties里
# profile
spring.profiles.active = develop
#spring.profiles.active = produce
# logback
logging.config=classpath:logback-spring-${spring.profiles.active}.xml
对application-produce.properties进行修改
# ThymeleafProperties
spring.thymeleaf.cache=true
# DataSourceProperties
spring.datasource.password=
# community
# 用了已备案域名和nginx之后,或许应该改为community.path.domain=http://whileflow.top
community.path.domain=http://139.9.161.144
community.path.upload=/tmp/uploads
# wk
wk.image.command=/opt/wkhtmltoimage.sh
wk.image.storage=/tmp/wk-images
对logback-spring-produce.xml修改
<property name="LOG_PATH" value="/tmp"/>
为了让tomcat启动java程序,需要添加一个类communityServletInitializer
public class CommunityServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// return super.configure(builder);
return builder.sources(CommunityApplication.class); //tomcat通过这个接口获取main方法
}
}
通过maven的clean,去掉target目录,打包项目文件夹,pscp community.zip root@139.9.161.144:/root。到服务器上解压community.zip,进入目录,mvn clean package -Dmaven.test.skip=true,打包成功后放到webapps下
启动tomcat后可以看日志,logs下的catalina。还可以去/tmp/community下看项目本身配置的日志。