云服务器上部署仿牛客网项目
云服务器上部署仿牛客网项目
- 安装JRE
- 安装Maven
- 安装MySQL
- 给mysql导入数据
- 安装Redis
- 安装kafka
- 安装ElasticSearch
- Wkhtmltopdf
- 安装tomcat
- 安装nginx
- 部署代码
内存最好有4g,才能跑起来。Nginx起到反向代理的作用,正向代理是代理浏览器,反向代理是代理服务器。Tomcat是用Java开发的,因此安装Tomcat之前要安装JRE;希望在服务器上打包程序,因此安装Maven,如果有环境差异,在windows打包再传过去可能会有问题,因此最好在服务器上打包。真实的生产环境下,一个软件可以部署多个实例,例如Tomcat,MySQL,Redis等。学习中,就部署到一个服务器上。访问Linux虚拟机可以用Putty。
命令行传文件:
pscp 文件名 root@ip地址:/test用Bitvise或者Xftp等软件传也行。
下载unzip,先cd到根目录,在用yum搜
安装JRE
注意项目需要JDK12才能运行。
yum list java* yum install -y安装Maven
去官网下载3.6.3版本的安装包,下载后安装到/opt目录下
wget -i -c 链接 tar -xzvf apache-maven-3.6.3-bin.tar.gz -C /opt #配置环境变量到/etc/profile vim /etc/profile #在后面追加,保存退出 export PATH=$PATH:/opt/apache-maven-3.6.3 #刷新 source /etc/profile #打印PATH echo $PATH #查看版本 mvn -version #修改源,进入conf文件夹 vim settings.xml在mirrors中加入:
<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>https://maven.aliyun.com/repository/public</url> </mirror>安装MySQL
这里已经装过了,要安装可以参考另外一篇博客。也可以先去官网下载yum对应的库文件,再用yum安装库文件,就能用yum下载最新的MySQL,安装mysql-community-server.x86_64。
yum install -y 库文件名启动mysql:
systemctl start mysqld查看Mysql版本:
mysql -V查看生成的临时密码:
grep 'password' /var/log/mysqld.log登录之后,修改密码:
alter user root@localhost identified by '新密码';给mysql导入数据
unzip -d /test/sql init-sql.zip登录mysql,执行sql文件
create database community; use community; #导入文件 source /test/sql/init_schema.sql; source /test/sql/init_data.sql; source /test/sql/tables_mysql_innodb.sql; show tables;下面需要把header_url中的localhost的url改成网络能访问到的。
select id,username,header_url from user; update user set header_url = 'http://images.nowcoder.com/head/492t.png' where header_url like '%localhost%';安装Redis
cd / yum list redis* yum install -y redis.x86_64 systemctl start redis systemctl status redis测试redis
redis-cli keys * exit安装kafka
tar -xzvf kafka_2.12-2.3.0.tgz -C /opt #进入到config文件夹下 vim zookeeper.propertiesvim server.properties基本上只要保存路径符合linux路径规范就行。
先进入kafka安装路径,不要进入bin目录。因为是服务器,需要用后台方式启动。
启动zookeeper
启动kafka
nohup bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &测试是否成功启动kafka
bin/kafka-topics.sh --list --bootstrap-server localhost:9092如果显示报错:
关闭tomcat,然后执行上面命令重启,并测试。
安装ElasticSearch
tar -xzvf elasticsearch-6.8.23.tar.gz -C /opt unzip -d /opt/elasticsearch-6.8.23/plugins/ik elasticsearch-analysis-ik-6.8.23.zip #进入config目录 vim elasticsearch.yml设置集群名字,数据和日志存放位置:
修改jvm设置,可以根据内存大小设置占用空间
ElasticSearch不允许root用户启动,需要创建一个用户,并用这个用户启动
Wkhtmltopdf
cd / yum list wkhtmlyopdf* yum install -y wkhtmltopdf.x86_64需要gui支持,安装虚拟gui程序
yum install -y xorg-x11-server-Xvfb.x86_64 #测试 xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage https://www.baidu.com 1.png每次都这样写命令很麻烦,因此可以包装一下
cd /opt vim wkhtmltoimage.sh #添加 xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage "$@" chmod +x wkhtmltoimage.sh cd /test /opt/wkhtmltoimage.sh https://www.baidu.com 2.png安装tomcat
tar -xzvf apache-tomcat-9.0.64.tar.gz -C /opt vim /etc/profile #在后面追加 export PATH=$PATH:/opt/apache-tomcat-9.0.64/bin source /etc/profile echo $PATH启动tomcat
startup.sh安装nginx
yum list nginx* yum install -y nginx.x86_64 vim /etc/nginx/nginx.conf把这一段注释掉
在这段后面加上:
启动nginx
systemctl start nginx部署代码
由于没有处理根路径,因此访问/时要等价与访问/index,一个方法是访问/时重定向到/index,另外一个方法
可以把webapps中的都删去,再加上自己的项目。
对代码进行调整:
1、在application.properties中把/community改成空。
2、在global.js中把/community改成空
3、在HomeController中加上
4、在pom.xml中修改打包方式和打包名字
5、通过设置,选定使用哪个配置文件,并且修改相应项
修改成服务器ip
6、tomcat本身有main函数,一个Java程序不可能有两个main函数,因此重写方法
重建CommunityServletInitializer类,继承SpringBootServletInitializer,重写方法:
tomcat从这个类访问。
使用maven的clean把target删除,并传送整个项目文件到云服务器。
如果出现报错:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
再复制到tomcat中:
mv ROOT.war /opt/apache-tomcat-9.0.64/webapps/linux区分大小写,先登录MySQL数据库
show variables like '%case%'; vim /etc/my.cnf #加上 lower_case_table_names=1 #重启 service mysqld restart这个对于mysql8不行。手动修改表名为大写。
总结
以上是生活随笔为你收集整理的云服务器上部署仿牛客网项目的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 文字格斗游戏2.0(随机数值)
- 下一篇: S3存储桶策略(S3 Bucket Po