云服务器上部署仿牛客网项目
云服務(wù)器上部署仿牛客網(wǎng)項(xiàng)目
- 安裝JRE
- 安裝Maven
- 安裝MySQL
- 給mysql導(dǎo)入數(shù)據(jù)
- 安裝Redis
- 安裝kafka
- 安裝ElasticSearch
- Wkhtmltopdf
- 安裝tomcat
- 安裝nginx
- 部署代碼
內(nèi)存最好有4g,才能跑起來(lái)。Nginx起到反向代理的作用,正向代理是代理瀏覽器,反向代理是代理服務(wù)器。Tomcat是用Java開(kāi)發(fā)的,因此安裝Tomcat之前要安裝JRE;希望在服務(wù)器上打包程序,因此安裝Maven,如果有環(huán)境差異,在windows打包再傳過(guò)去可能會(huì)有問(wèn)題,因此最好在服務(wù)器上打包。真實(shí)的生產(chǎn)環(huán)境下,一個(gè)軟件可以部署多個(gè)實(shí)例,例如Tomcat,MySQL,Redis等。學(xué)習(xí)中,就部署到一個(gè)服務(wù)器上。訪問(wèn)Linux虛擬機(jī)可以用Putty。
命令行傳文件:
pscp 文件名 root@ip地址:/test用Bitvise或者Xftp等軟件傳也行。
下載unzip,先cd到根目錄,在用yum搜
安裝JRE
注意項(xiàng)目需要JDK12才能運(yùn)行。
yum list java* yum install -y安裝Maven
去官網(wǎng)下載3.6.3版本的安裝包,下載后安裝到/opt目錄下
wget -i -c 鏈接 tar -xzvf apache-maven-3.6.3-bin.tar.gz -C /opt #配置環(huán)境變量到/etc/profile vim /etc/profile #在后面追加,保存退出 export PATH=$PATH:/opt/apache-maven-3.6.3 #刷新 source /etc/profile #打印PATH echo $PATH #查看版本 mvn -version #修改源,進(jìn)入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
這里已經(jīng)裝過(guò)了,要安裝可以參考另外一篇博客。也可以先去官網(wǎng)下載yum對(duì)應(yīng)的庫(kù)文件,再用yum安裝庫(kù)文件,就能用yum下載最新的MySQL,安裝mysql-community-server.x86_64。
yum install -y 庫(kù)文件名啟動(dòng)mysql:
systemctl start mysqld查看Mysql版本:
mysql -V查看生成的臨時(shí)密碼:
grep 'password' /var/log/mysqld.log登錄之后,修改密碼:
alter user root@localhost identified by '新密碼';給mysql導(dǎo)入數(shù)據(jù)
unzip -d /test/sql init-sql.zip登錄mysql,執(zhí)行sql文件
create database community; use community; #導(dǎo)入文件 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改成網(wǎng)絡(luò)能訪問(wèn)到的。
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測(cè)試redis
redis-cli keys * exit安裝kafka
tar -xzvf kafka_2.12-2.3.0.tgz -C /opt #進(jìn)入到config文件夾下 vim zookeeper.propertiesvim server.properties基本上只要保存路徑符合linux路徑規(guī)范就行。
先進(jìn)入kafka安裝路徑,不要進(jìn)入bin目錄。因?yàn)槭欠?wù)器,需要用后臺(tái)方式啟動(dòng)。
啟動(dòng)zookeeper
啟動(dòng)kafka
nohup bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &測(cè)試是否成功啟動(dòng)kafka
bin/kafka-topics.sh --list --bootstrap-server localhost:9092如果顯示報(bào)錯(cuò):
關(guān)閉tomcat,然后執(zhí)行上面命令重啟,并測(cè)試。
安裝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 #進(jìn)入config目錄 vim elasticsearch.yml設(shè)置集群名字,數(shù)據(jù)和日志存放位置:
修改jvm設(shè)置,可以根據(jù)內(nèi)存大小設(shè)置占用空間
ElasticSearch不允許root用戶啟動(dòng),需要?jiǎng)?chuàng)建一個(gè)用戶,并用這個(gè)用戶啟動(dòng)
Wkhtmltopdf
cd / yum list wkhtmlyopdf* yum install -y wkhtmltopdf.x86_64需要gui支持,安裝虛擬gui程序
yum install -y xorg-x11-server-Xvfb.x86_64 #測(cè)試 xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage https://www.baidu.com 1.png每次都這樣寫(xiě)命令很麻煩,因此可以包裝一下
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啟動(dòng)tomcat
startup.sh安裝nginx
yum list nginx* yum install -y nginx.x86_64 vim /etc/nginx/nginx.conf把這一段注釋掉
在這段后面加上:
啟動(dòng)nginx
systemctl start nginx部署代碼
由于沒(méi)有處理根路徑,因此訪問(wèn)/時(shí)要等價(jià)與訪問(wèn)/index,一個(gè)方法是訪問(wèn)/時(shí)重定向到/index,另外一個(gè)方法
可以把webapps中的都刪去,再加上自己的項(xiàng)目。
對(duì)代碼進(jìn)行調(diào)整:
1、在application.properties中把/community改成空。
2、在global.js中把/community改成空
3、在HomeController中加上
4、在pom.xml中修改打包方式和打包名字
5、通過(guò)設(shè)置,選定使用哪個(gè)配置文件,并且修改相應(yīng)項(xiàng)
修改成服務(wù)器ip
6、tomcat本身有main函數(shù),一個(gè)Java程序不可能有兩個(gè)main函數(shù),因此重寫(xiě)方法
重建CommunityServletInitializer類,繼承SpringBootServletInitializer,重寫(xiě)方法:
tomcat從這個(gè)類訪問(wèn)。
使用maven的clean把target刪除,并傳送整個(gè)項(xiàng)目文件到云服務(wù)器。
如果出現(xiàn)報(bào)錯(cuò):[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
再?gòu)?fù)制到tomcat中:
mv ROOT.war /opt/apache-tomcat-9.0.64/webapps/linux區(qū)分大小寫(xiě),先登錄MySQL數(shù)據(jù)庫(kù)
show variables like '%case%'; vim /etc/my.cnf #加上 lower_case_table_names=1 #重啟 service mysqld restart這個(gè)對(duì)于mysql8不行。手動(dòng)修改表名為大寫(xiě)。
總結(jié)
以上是生活随笔為你收集整理的云服务器上部署仿牛客网项目的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 文字格斗游戏2.0(随机数值)
- 下一篇: S3存储桶策略(S3 Bucket Po