日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

云服务器上部署仿牛客网项目

發布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 云服务器上部署仿牛客网项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

云服務器上部署仿牛客網項目

  • 安裝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搜

cd / yum list unzip* yum install -y unzip.x86_64 java-1.8.0-openjdk.x86_64 java -version

安裝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

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

啟動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,然后執行上面命令重啟,并測試。

shutdown.sh

安裝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設置,可以根據內存大小設置占用空間

vim jvm.options


ElasticSearch不允許root用戶啟動,需要創建一個用戶,并用這個用戶啟動

groupadd nowcoder useradd nowcoder1 -p 設置密碼 -g nowcoder cd /opt chown -R nowcoder1:nowcoder * cd /tmp chown -R nowcoder1:nowcoder * su - nowcoder1 #進入elasticsearch安裝目錄后,后臺啟動ES bin/elasticsearch -d su #測試是否安裝成功 curl -X GET "localhost:9200/_cat/health?v"

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

把這一段注釋掉

在這段后面加上:

upstream myserver {server 127.0.0.1:8080 max_fails=3 fail_timeout=30s; }server {listen 80;server_name 49.232.164.108;location / {proxy_pass http://myserver;} }

啟動nginx

systemctl start nginx

部署代碼

由于沒有處理根路徑,因此訪問/時要等價與訪問/index,一個方法是訪問/時重定向到/index,另外一個方法
可以把webapps中的都刪去,再加上自己的項目。
對代碼進行調整:
1、在application.properties中把/community改成空。

2、在global.js中把/community改成空

3、在HomeController中加上

@RequestMapping(path = "/", method = RequestMethod.GET) public String root(){return "forward:/index"; }

4、在pom.xml中修改打包方式和打包名字


5、通過設置,選定使用哪個配置文件,并且修改相應項

修改成服務器ip

6、tomcat本身有main函數,一個Java程序不可能有兩個main函數,因此重寫方法
重建CommunityServletInitializer類,繼承SpringBootServletInitializer,重寫方法:

@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(CommunityApplication.class); }

tomcat從這個類訪問。
使用maven的clean把target刪除,并傳送整個項目文件到云服務器。

unzip -d /test community.zip #第一次下載maven并執行打包,會下載相關依賴,需要一些時間 #進入community中打包 mvn package -Dmaven.test.skip=true

如果出現報錯:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

yum install java-devel

再復制到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不行。手動修改表名為大寫。

總結

以上是生活随笔為你收集整理的云服务器上部署仿牛客网项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。