本文使用PuTTY軟件在本地Windows系統遠程控制Linux服務器;其中,Windows系統為Windows 10專業版,Linux系統為CentOS 7.6 64位。
1.工具軟件的準備
maven:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
tomcat:https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz
elasticsearch:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz
elasticsearch-analysis:https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-6.4.3.zip
kafka:https://archive.apache.org/dist/kafka/2.3.0/kafka_2.12-2.3.0.tgz
mysql80:http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
以上工具軟件可直接在linux服務器上使用命令下載:
wget+以上鏈接
也可以在本地windows系統下載好之后通過windows命令行傳文件到linux服務器:
Win+R→cmd→轉到文件所在的盤符,比如:D:
然后再cd到文件所在目錄;
在所需要上傳的文件所在目錄使用命令:
pscp [文件名] linux用戶名@服務器公網IP地址:在Linux系統保存的地址
比如:
pscp community-init-sql-1.5.zip root@x.x.x.x:/root
2. 安裝unzip
cd /yum list unzip*yum install -y unzip.x86_64
3.下載JDK1.8
yum list java*yum install -y java-1.8.0-openjdk.x86_64java -version
4.安裝Maven
tar -xzvf apache-maven-3.6.1-bin.tar.gz -C /optcd /opt/apache-maven-3.6.1/binvim /etc/profile
輸入i進入INSERT模式之后在
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
的后一行增加
export PATH=$PATH:/opt/apache-maven-3.6.1
(可直接按右鍵粘貼)之后,按【Esc】→【:wq】保存退出。
接下來啟用和查看maven版本:
source /etc/profile
mvn -version
5.Maven配置阿里云鏡像
cd confvim settings.xml
輸入i進入INSERT模式之后在之間增加以下代碼
<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>https://maven.aliyun.com/repository/central</url>
</mirror>
(可直接按右鍵粘貼)之后,按Esc】→【:wq】保存退出。
6.安裝 MySQL
cd /root
yum install -y mysql80-community-release-el7-3.noarch.rpm
cd /
yum list mysql*
yum install -y mysql-community-server.x86_64
如果出現GPG Keys相關問題,執行以下命令:
yum -y install mysql-community-server --nogpgcheck
接下來再啟動MySQL:
systemctl start mysqld
查看MySQL的狀態:
systemctl status mysqld
查看MySQL的密碼,用于下一步修改密碼前的登錄操作:
grep 'password' /var/log/mysqld.log
修改MySQL的密碼:
mysql -u root -p
alter user root@localhost identified by 'XXXXXX';exit
注意:
"XXXXXX"為密碼,按需修改。
重新登錄:
mysql -u root -p
exit
給MySQL導入數據:
cd /root
unzip -d /root/community-init-sql-1.5 community-init-sql-1.5.zipmysql -u root -p
create database community;
use community;
source /root/community-init-sql-1.5/init_schema.sql;
source /root/community-init-sql-1.5/init_data.sql;
source /root/community-init-sql-1.5/tables_mysql_innodb.sql;
show tables;
注意:
其中,”community-init-sql-1.5“按需修改。
修改header_url路徑中含localhost的圖片:
select id,username,header_url from user;
update user set header_url = 'http://images.nowcoder.com/head/180t.png' where header_url like '%localhost%';exit
注意:其中,”180t“按需修改。
7.安裝Redis
cd /
yum list redis*
yum install -y redis.x86_64
redis: systemctl start redis
systemctl status redisexit
8.安裝Kafka
cd /roottar -xzvf kafka_2.12-2.3.0.tgz -C /optcd /opt/kafka_2.12-2.3.0bin/zookeeper-server-start.sh -daemon config/zookeeper.propertiesnohup bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &
測試是否成功啟動Kafka:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
9.安裝ElasticSearch
cd /root
tar -xzvf elasticsearch-6.4.3.tar.gz -C /opt
unzip -d /opt/elasticsearch-6.4.3/plugins/ik elasticsearch-analysis-ik-6.4.3.zipcd /opt/elasticsearch-6.4.3/config
vim elasticsearch.yml
輸入i進入INSERT模式之后:
設置集群名字:
cluster.name: nowcoder
設置路徑:
path.data: /tmp/elastic/datapath.logs: /tmp/elastic/logs
然后,按【Esc】→【:wq】保存退出。
修改jvm設置:
vim jvm.options
輸入i進入INSERT模式之后:
設置:
-Xms256m
-Xmx512m
然后,按【Esc】→【:wq】保存退出。
啟動Elasticsearch:
groupadd nowcoder
useradd nowcoder1 -p xxxxxx -g nowcoder
cd /opt
chown -R nowcoder1:nowcoder *
cd /tmp
chown -R nowcoder1:nowcoder *
su - nowcoder1cd /opt/elasticsearch-6.4.3/bin/elasticsearch -d
注意:"xxxxxx"為密碼,按需修改。
切換為root用戶,測試是否啟動成功:
su -curl -X GET "localhost:9200/_cat/health?v"
10.安裝Wkhtmltopdf
cd /
yum list wkhtmltopdf*
yum install -y wkhtmltopdf.x86_64
安裝虛擬gui程序,并使用命令行測試:
yum list *xvfb*
yum install -y xorg-x11-server-Xvfb.x86_64cd /root
mkdir test
cd test
xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage https://www.baidu.com 1.png
使用腳本測試:
cd /opt
vim wkhtmltoimage.sh
輸入i進入INSERT模式之后:
添加以下代碼:
xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage "$@"
然后,按【Esc】→【:wq】保存退出。
chmod +x wkhtmltoimage.sh
cd /root/test
/opt/wkhtmltoimage.sh https://www.baidu.com 2.png
11.安裝Tomcat
cd /root
tar -xzvf apache-tomcat-9.0.22.tar.gz -C /opt
cd /opt/apache-tomcat-9.0.22/binvim /etc/profile
輸入i進入INSERT模式之后,在步驟4中Maven的path后面追加:
export PATH=$PATH:/opt/apache-tomcat-9.0.22/bin
然后,按【Esc】→【:wq】保存退出。
source /etc/profile
啟動Tomcat:
startup.sh
12.安裝Nginx
cd /
yum list nginx*
yum install -y nginx.x86_64vim /etc/nginx/nginx.conf
輸入i進入INSERT模式之后,將以下代碼塊使用"#"注釋掉:
server {listen 80;listen [::]:80;server_name _;root /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}
然后,添加以下代碼塊:
upstream myserver {server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
}server {listen 80;server_name XXX.XXX.XXX.XXX;location / {proxy_pass http://myserver;}
}
然后,按【Esc】→【:wq】保存退出。
注意:
"XXX.XXX.XXX.XXX"按需修改為服務器的公網IP地址。
啟動Nginx:
systemctl start nginx
關閉Tomcat,將Tomcat目錄下的webapps文件夾下的內容刪除:
shutdown.shcd /opt/apache-tomcat-9.0.22/webappsrm -rf *
13.項目部署
在Windows系統中將項目的pom.xml,application.properties,global.js,HomeController.java相關文件進行修改之后,將target文件夾進行刪除,之后將項目工程文件進行壓縮,通過Windows命令行窗口上傳到linux服務器:
pscp community.zip root@x.x.x.x:/root
解壓:
cd /root
unzip -d /root/community community.zip
打包:
cd community
mvn package -Dmaven.test.skip=true
注意:
第一次:
mvn clean package -Dmaven.test.skip=true
第二次可以這樣寫:
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
重新打包:
mvn package -Dmaven.test.skip=true
復制ROOT.war到Tomcat中,再啟動Tomcat:
cd target/
mv ROOT.war /opt/apache-tomcat-9.0.22/webapps/startup.sh
注意事項:
服務器重啟之后,需要重新開啟MySQL,Kafka,Redis,Elasticsearch,Nginx,再重新打包ROOT.war到Tomcat中,最后再啟動Tomcat。