安裝CRM服務(wù)器的過程
1、安裝CENTOS7.9
下載CentOS-7-x86_64-DVD-2009.iso鏡像文件,用FedoraMediaWriter-win32-latest.exe制作啟動U盤,選擇basic web server環(huán)境。(因為默認(rèn)的java環(huán)境是1.7,需要安裝java8,所有只能改稱最小化安裝,通過rpm -e --nodeps卸載的話會對使許多軟件缺少依賴http://www.voidcn.com/article/p-mjnbwvfn-bra.html)
配置網(wǎng)卡參考:
http://www.rzrgm.cn/congcongdi/p/10149925.html
centos防火墻開放8080端口:
http://www.rzrgm.cn/wq-9/articles/16455628.html
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
netstat -ntlp(查端口)
安裝vim:yum -y install vim*
http://www.rzrgm.cn/syncmr/p/10740201.html
1.1 安裝java環(huán)境
下載oracle官網(wǎng)rpm包https://download.oracle.com/otn/java/jdk/8u281-b09/89d678f2be164786b292527658ca1605/jdk-8u281-linux-x64.rpm
rpm -ivh jdk-8u281-linux-x64.rpm
https://blog.csdn.net/zhengjie19/article/details/49100873
注意補充JRE_HOME
(https://blog.csdn.net/JackNaDa/article/details/102694782)
原版openjdk安裝位置:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/bin/
http://www.rzrgm.cn/lenmom/p/9494877.html
但是因為centos自帶的java環(huán)境全,不能編譯java代碼,需要重裝jdk(不用卸載原來的openjdk),重新指定JAVA_HOME和PATH 即可。
[root@bogon installer]# rpm -ivh jdk-8u361-linux-x64.rpm 警告:jdk-8u361-linux-x64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID ec551f03: NOKEY 準(zhǔn)備中... ################################# [100%] 正在升級/安裝... 1:jdk1.8-2000:1.8.0_361-fcs ################################# [100%] Unpacking JAR files... tools.jar... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar... [root@bogon installer]# cd /usr/java/jdk1.8.0_361-amd64/ [root@bogon jdk1.8.0_361-amd64]# vim /etc/profile.d/javahome.sh [root@bogon jdk1.8.0_361-amd64]# cat /etc/profile.d/javahome.sh #!/bin/bash JAVA_HOME=/usr/java/jdk1.8.0_361-amd64/ PATH=$JAVA_HOME/bin:$PATH export PATH JAVA_HOME export CLASSPATH=.
[root@bogon jdk1.8.0_361-amd64]# chmod +x /etc/profile.d/javahome.sh
[root@bogon profile.d]# source /etc/profile.d/javahome.sh
[root@bogon profile.d]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /usr/java/jdk1.8.0_361-amd64/bin/java /usr/share/man/man1/java.1.gz
[root@bogon profile.d]# java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)
需要配置的系統(tǒng)環(huán)境變量:
# /etc/profile.d/wkcrm.sh
注意路徑要復(fù)制,比對每個字符是否一致。
1.2安裝tomcat
下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz
安裝方法還是參考:https://blog.csdn.net/JackNaDa/article/details/102694782
添加開機啟動服務(wù)
[root@localhost bin]# vim /etc/systemd/system/tomcat.service
給tomcat設(shè)置開機自動啟動:
[Unit] Description=tomcat-server After=network.target [Service] Type=forking ExecStart=/home/tomcat/apache-tomcat-9.0.43/bin/startup.sh PrivateTmp=true [Install] WantedBy=multi-user.target
systemctl daemon-reload
systemctl start tomcat.service
systemctl enable tomcat.service
安裝netstat:yum install net-tools
[root@bogon profile.d]# vim /etc/systemd/system/tomcat.service [root@bogon profile.d]# cat /etc/systemd/system/tomcat.service [Unit] Description=tomcat-server After=network.target [Service] Type=forking ExecStart=/home/crm/apache-tomcat-9.0.73/bin/startup.sh PrivateTmp=true [Install] WantedBy=multi-user.target [root@bogon profile.d]# systemctl daemon-reload [root@bogon profile.d]# systemctl start tomcat.service [root@bogon profile.d]# systemctl enable tomcat.service Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /etc/systemd/system/tomcat.service. [root@bogon profile.d]# systemctl status tomcat.service ● tomcat.service - tomcat-server Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled) Active: active (running) since 三 2023-03-22 13:33:55 CST; 14s ago Main PID: 6286 (java) CGroup: /system.slice/tomcat.service └─6286 /usr/bin/java -Djava.util.logging.config.file=/home/crm/apache-tomcat-9.0.73/conf/logging.properties -Djava.util.logging.manager=org.ap... 3月 22 13:33:55 bogon systemd[1]: Starting tomcat-server... 3月 22 13:33:55 bogon startup.sh[6272]: Tomcat started. 3月 22 13:33:55 bogon systemd[1]: Started tomcat-server. [root@bogon profile.d]# netstat -antp | grep 8080 tcp6 0 0 :::8080 :::* LISTEN 6286/java [root@bogon profile.d]# ps -ef | grep tomcat root 6286 1 5 13:33 ? 00:00:04 /usr/bin/java -Djava.util.logging.config.file=/home/crm/apache-tomcat-9.0.73/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/crm/apache-tomcat-9.0.73/bin/bootstrap.jar:/home/crm/apache-tomcat-9.0.73/bin/tomcat-juli.jar -Dcatalina.base=/home/crm/apache-tomcat-9.0.73 -Dcatalina.home=/home/crm/apache-tomcat-9.0.73 -Djava.io.tmpdir=/home/crm/apache-tomcat-9.0.73/temp org.apache.catalina.startup.Bootstrap start root 6913 30357 0 13:35 pts/3 00:00:00 grep --color=auto tomcat [root@bogon profile.d]# tail -f /home/tomcat/apache-tomcat-9.0.73/logs/catalina.out tail: 無法打開"/home/tomcat/apache-tomcat-9.0.73/logs/catalina.out" 讀取數(shù)據(jù): 沒有那個文件或目錄 tail: 沒有剩余文件 [root@bogon profile.d]# tail -f /home/crm/apache-tomcat-9.0.73/logs/catalina.out 22-Mar-2023 13:34:02.743 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 應(yīng)用程序部署到目錄 [/home/crm/apache-tomcat-9.0.73/webapps/docs] 22-Mar-2023 13:34:02.763 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web應(yīng)用程序目錄[/home/crm/apache-tomcat-9.0.73/webapps/docs]的部署已在[20]毫秒內(nèi)完成 22-Mar-2023 13:34:02.763 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 應(yīng)用程序部署到目錄 [/home/crm/apache-tomcat-9.0.73/webapps/examples] 22-Mar-2023 13:34:02.956 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web應(yīng)用程序目錄[/home/crm/apache-tomcat-9.0.73/webapps/examples]的部署已在[193]毫秒內(nèi)完成 22-Mar-2023 13:34:02.956 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 應(yīng)用程序部署到目錄 [/home/crm/apache-tomcat-9.0.73/webapps/host-manager] 22-Mar-2023 13:34:02.972 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web應(yīng)用程序目錄[/home/crm/apache-tomcat-9.0.73/webapps/host-manager]的部署已在[16]毫秒內(nèi)完成 22-Mar-2023 13:34:02.973 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 應(yīng)用程序部署到目錄 [/home/crm/apache-tomcat-9.0.73/webapps/manager] 22-Mar-2023 13:34:03.000 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web應(yīng)用程序目錄[/home/crm/apache-tomcat-9.0.73/webapps/manager]的部署已在[27]毫秒內(nèi)完成 22-Mar-2023 13:34:03.004 信息 [main] org.apache.coyote.AbstractProtocol.start 開始協(xié)議處理句柄["http-nio-8080"] 22-Mar-2023 13:34:03.047 信息 [main] org.apache.catalina.startup.Catalina.start [5049]毫秒后服務(wù)器啟動 [root@bogon profile.d]#
2、安裝Mysql
下載mysql server
https://downloads.mysql.com/archives/community/
wget -c https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar
http://www.rzrgm.cn/raicho/p/12511998.html
mysql設(shè)置root初始密碼
use mysql;
update user set authentication_string=password('123456') where user='root';
https://www.jb51.net/article/84146.htm
修改密碼:
alter user 'root'@'localhost' identified by 'password';(password是實際的密碼,比如123456,但是由于mysql5.7密碼策略要求,必須包含大寫字母、小寫字母,數(shù)字和符號)
[root@bogon mysqlinstaller]# grep password /var/log/mysqld.log 2023-03-22T06:09:01.203883Z 1 [Note] A temporary password is generated for root@localhost: 5(;XeJn(BI() [root@bogon mysqlinstaller]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.40 Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '*******************(密碼隱藏)'; Query OK, 0 rows affected (0.01 sec) mysql> quit Bye
http://www.rzrgm.cn/wtxkui/p/11618505.html
導(dǎo)入sql腳本時遇到的navicat小問題,不選中在每個運行中運行多個查詢等選項:
https://zhidao.baidu.com/question/525156367906044565.html
2、安裝redis:
下載redis:https://download.redis.io/releases/redis-6.0.10.tar.gz
http://www.rzrgm.cn/heqiuyong/p/10463334.html
redis6.0+需要的gcc版本為5.3及以上,Centos7.9需要升級gcc
[root@bogon redis-7.0.9]# yum install -y gcc
[root@bogon redis-7.0.9]# yum -y install centos-release-scl
[root@bogon redis-7.0.9]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
[root@bogon redis-7.0.9]# scl enable devtoolset-9 bash
[root@bogon redis-7.0.9]# make
https://blog.csdn.net/P_Top/article/details/106143693
make編譯遇到報錯:zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: 沒有那個文件或目錄時,
嘗試:https://blog.csdn.net/weixin_35757704/article/details/119280758
[root@bogon redis-7.0.9]# make cd src && make all which: no python3 in (/opt/rh/devtoolset-9/root/usr/bin:/usr/java/jdk1.8.0_361-amd64//bin:/usr/java/jdk1.8.0_361-amd64//jre/bin:/home/wkcrm/apache-tomcat-9.0.73//bin:/home/wkcrm/apache-maven-3.9.0//bin:/opt/rh/devtoolset-9/root/usr/bin:/usr/java/jdk1.8.0_361-amd64//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) make[1]: 進(jìn)入目錄“/root/installer/redis-7.0.9/src” CC adlist.o In file included from adlist.c:34: zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: 沒有那個文件或目錄 50 | #include <jemalloc/jemalloc.h> | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [adlist.o] 錯誤 1 make[1]: 離開目錄“/root/installer/redis-7.0.9/src” make: *** [all] 錯誤 2 [root@bogon redis-7.0.9]# make MALLOC=libc cd src && make all which: no python3 in (/opt/rh/devtoolset-9/root/usr/bin:/usr/java/jdk1.8.0_361-amd64//bin:/usr/java/jdk1.8.0_361-amd64//jre/bin:/home/wkcrm/apache-tomcat-9.0.73//bin:/home/wkcrm/apache-maven-3.9.0//bin:/opt/rh/devtoolset-9/root/usr/bin:/usr/java/jdk1.8.0_361-amd64//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) make[1]: 進(jìn)入目錄“/root/installer/redis-7.0.9/src” rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep rm -f adlist.d quicklist.d ae.d anet.d dict.d server.d sds.d zmalloc.d lzf_c.d lzf_d.d pqsort.d zipmap.d sha1.d ziplist.d release.d networking.d util.d object.d db.d replication.d rdb.d t_string.d t_list.d t_set.d t_zset.d t_hash.d config.d aof.d pubsub.d multi.d debug.d sort.d intset.d syncio.d cluster.d crc16.d endianconv.d slowlog.d eval.d bio.d rio.d rand.d memtest.d syscheck.d crcspeed.d crc64.d bitops.d sentinel.d notify.d setproctitle.d blocked.d hyperloglog.d latency.d sparkline.d redis-check-rdb.d redis-check-aof.d geo.d lazyfree.d module.d evict.d expire.d geohash.d geohash_helper.d childinfo.d defrag.d siphash.d rax.d t_stream.d listpack.d localtime.d lolwut.d lolwut5.d lolwut6.d acl.d tracking.d connection.d tls.d sha256.d timeout.d setcpuaffinity.d monotonic.d mt19937-64.d resp_parser.d call_reply.d script_lua.d script.d functions.d function_lua.d commands.d anet.d adlist.d dict.d redis-cli.d zmalloc.d release.d ae.d redisassert.d crcspeed.d crc64.d siphash.d crc16.d monotonic.d cli_common.d mt19937-64.d ae.d anet.d redis-benchmark.d adlist.d dict.d zmalloc.d redisassert.d release.d crcspeed.d crc64.d siphash.d crc16.d monotonic.d cli_common.d mt19937-64.d (cd ../deps && make distclean) make[2]: 進(jìn)入目錄“/root/installer/redis-7.0.9/deps” (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (cd hdr_histogram && make clean) > /dev/null || true (rm -f .make-*) make[2]: 離開目錄“/root/installer/redis-7.0.9/deps” (cd modules && make clean) make[2]: 進(jìn)入目錄“/root/installer/redis-7.0.9/src/modules” rm -rf *.xo *.so make[2]: 離開目錄“/root/installer/redis-7.0.9/src/modules” (cd ../tests/modules && make clean) make[2]: 進(jìn)入目錄“/root/installer/redis-7.0.9/tests/modules” rm -f commandfilter.so basics.so testrdb.so fork.so infotest.so propagate.so misc.so hooks.so blockonkeys.so blockonbackground.so scan.so datatype.so datatype2.so auth.so keyspace_events.so blockedclient.so getkeys.so getchannels.so test_lazyfree.so timer.so defragtest.so keyspecs.so hash.so zset.so stream.so mallocsize.so aclcheck.so list.so subcommands.so reply.so cmdintrospection.so eventloop.so moduleconfigs.so moduleconfigstwo.so publish.so usercall.so commandfilter.xo basics.xo testrdb.xo fork.xo infotest.xo propagate.xo misc.xo hooks.xo blockonkeys.xo blockonbackground.xo scan.xo datatype.xo datatype2.xo auth.xo keyspace_events.xo blockedclient.xo getkeys.xo getchannels.xo test_lazyfree.xo timer.xo defragtest.xo keyspecs.xo hash.xo zset.xo stream.xo mallocsize.xo aclcheck.xo list.xo subcommands.xo reply.xo cmdintrospection.xo eventloop.xo moduleconfigs.xo moduleconfigstwo.xo publish.xo usercall.xo make[2]: 離開目錄“/root/installer/redis-7.0.9/tests/modules” (rm -f .make-*) echo STD=-pedantic -DREDIS_STATIC= -std=c99 >> .make-settings echo WARN=-Wall -W -Wno-missing-field-initializers >> .make-settings echo OPT=-O2 >> .make-settings echo MALLOC=libc >> .make-settings echo BUILD_TLS= >> .make-settings echo USE_SYSTEMD= >> .make-settings echo CFLAGS= >> .make-settings echo LDFLAGS= >> .make-settings echo REDIS_CFLAGS= >> .make-settings echo REDIS_LDFLAGS= >> .make-settings echo PREV_FINAL_CFLAGS=-pedantic -DREDIS_STATIC= -std=c99 -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram >> .make-settings echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings (cd ../deps && make hiredis linenoise lua hdr_histogram) make[2]: 進(jìn)入目錄“/root/installer/redis-7.0.9/deps” (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (cd hdr_histogram && make clean) > /dev/null || true (rm -f .make-*) (echo "" > .make-cflags) (echo "" > .make-ldflags) MAKE hiredis cd hiredis && make static make[3]: 進(jìn)入目錄“/root/installer/redis-7.0.9/deps/hiredis” cc -std=c99 -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic alloc.c cc -std=c99 -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic net.c cc -std=c99 -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic hiredis.c cc -std=c99 -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sds.c cc -std=c99 -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic async.c cc -std=c99 -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic read.c cc -std=c99 -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb -pedantic sockcompat.c ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o make[3]: 離開目錄“/root/installer/redis-7.0.9/deps/hiredis” MAKE linenoise cd linenoise && make make[3]: 進(jìn)入目錄“/root/installer/redis-7.0.9/deps/linenoise” cc -Wall -Os -g -c linenoise.c make[3]: 離開目錄“/root/installer/redis-7.0.9/deps/linenoise” MAKE lua cd lua/src && make all CFLAGS="-Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 " MYLDFLAGS="" AR="ar rc" make[3]: 進(jìn)入目錄“/root/installer/redis-7.0.9/deps/lua/src” cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lapi.o lapi.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lcode.o lcode.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o ldebug.o ldebug.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o ldo.o ldo.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o ldump.o ldump.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lfunc.o lfunc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lgc.o lgc.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o llex.o llex.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lmem.o lmem.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lobject.o lobject.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lopcodes.o lopcodes.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lparser.o lparser.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lstate.o lstate.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lstring.o lstring.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o ltable.o ltable.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o ltm.o ltm.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lundump.o lundump.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lvm.o lvm.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lzio.o lzio.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o strbuf.o strbuf.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o fpconv.o fpconv.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lauxlib.o lauxlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lbaselib.o lbaselib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o ldblib.o ldblib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o liolib.o liolib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lmathlib.o lmathlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o loslib.o loslib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o ltablib.o ltablib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lstrlib.o lstrlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o loadlib.o loadlib.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o linit.o linit.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lua_cjson.o lua_cjson.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lua_struct.o lua_struct.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lua_cmsgpack.o lua_cmsgpack.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lua_bit.o lua_bit.c ar rc liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o fpconv.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o lua_bit.o # DLL needs all object files ranlib liblua.a cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o lua.o lua.c cc -o lua lua.o liblua.a -lm cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o luac.o luac.c cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP -O2 -c -o print.o print.c cc -o luac luac.o print.o liblua.a -lm make[3]: 離開目錄“/root/installer/redis-7.0.9/deps/lua/src” MAKE hdr_histogram cd hdr_histogram && make make[3]: 進(jìn)入目錄“/root/installer/redis-7.0.9/deps/hdr_histogram” cc -std=c99 -Wall -Os -g -DHDR_MALLOC_INCLUDE=\"hdr_redis_malloc.h\" -c hdr_histogram.c ar rcs libhdrhistogram.a hdr_histogram.o make[3]: 離開目錄“/root/installer/redis-7.0.9/deps/hdr_histogram” make[2]: 離開目錄“/root/installer/redis-7.0.9/deps” CC adlist.o CC quicklist.o CC ae.o CC anet.o CC dict.o CC server.o CC sds.o CC zmalloc.o CC lzf_c.o CC lzf_d.o CC pqsort.o CC zipmap.o CC sha1.o CC ziplist.o CC release.o CC networking.o CC util.o CC object.o CC db.o CC replication.o CC rdb.o CC t_string.o CC t_list.o CC t_set.o CC t_zset.o CC t_hash.o CC config.o CC aof.o CC pubsub.o CC multi.o CC debug.o CC sort.o CC intset.o CC syncio.o CC cluster.o CC crc16.o CC endianconv.o CC slowlog.o CC eval.o CC bio.o CC rio.o CC rand.o CC memtest.o CC syscheck.o CC crcspeed.o CC crc64.o CC bitops.o CC sentinel.o CC notify.o CC setproctitle.o CC blocked.o CC hyperloglog.o CC latency.o CC sparkline.o CC redis-check-rdb.o CC redis-check-aof.o CC geo.o CC lazyfree.o CC module.o CC evict.o CC expire.o CC geohash.o CC geohash_helper.o CC childinfo.o CC defrag.o CC siphash.o CC rax.o CC t_stream.o CC listpack.o CC localtime.o CC lolwut.o CC lolwut5.o CC lolwut6.o CC acl.o CC tracking.o CC connection.o CC tls.o CC sha256.o CC timeout.o CC setcpuaffinity.o CC monotonic.o CC mt19937-64.o CC resp_parser.o CC call_reply.o CC script_lua.o CC script.o CC functions.o CC function_lua.o CC commands.o LINK redis-server INSTALL redis-sentinel CC redis-cli.o CC redisassert.o CC cli_common.o LINK redis-cli CC redis-benchmark.o LINK redis-benchmark INSTALL redis-check-rdb INSTALL redis-check-aof Hint: It's a good idea to run 'make test' ;) make[1]: 離開目錄“/root/installer/redis-7.0.9/src” [root@bogon redis-7.0.9]#
安裝編譯后的文件:
[root@bogon redis-7.0.9]# make install PREFIX=/usr/local/redis cd src && make install which: no python3 in (/opt/rh/devtoolset-9/root/usr/bin:/usr/java/jdk1.8.0_361-amd64//bin:/usr/java/jdk1.8.0_361-amd64//jre/bin:/home/wkcrm/apache-tomcat-9.0.73//bin:/home/wkcrm/apache-maven-3.9.0//bin:/opt/rh/devtoolset-9/root/usr/bin:/usr/java/jdk1.8.0_361-amd64//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) make[1]: 進(jìn)入目錄“/root/installer/redis-7.0.9/src” CC Makefile.dep make[1]: 離開目錄“/root/installer/redis-7.0.9/src” which: no python3 in (/opt/rh/devtoolset-9/root/usr/bin:/usr/java/jdk1.8.0_361-amd64//bin:/usr/java/jdk1.8.0_361-amd64//jre/bin:/home/wkcrm/apache-tomcat-9.0.73//bin:/home/wkcrm/apache-maven-3.9.0//bin:/opt/rh/devtoolset-9/root/usr/bin:/usr/java/jdk1.8.0_361-amd64//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) make[1]: 進(jìn)入目錄“/root/installer/redis-7.0.9/src” Hint: It's a good idea to run 'make test' ;) INSTALL redis-server INSTALL redis-benchmark INSTALL redis-cli make[1]: 離開目錄“/root/installer/redis-7.0.9/src”
修改redis配置,設(shè)置后臺啟動:
[root@bogon local]# cp /root/installer/redis-7.0.9/redis.conf /usr/local/redis/bin/ [root@bogon local]# cd redis/bin/ [root@bogon bin]# ls dump.rdb redis-benchmark redis-check-aof redis-check-rdb redis-cli redis.conf redis-sentinel redis-server [root@bogon bin]# vim redis.conf [root@bogon bin]# ./redis-server redis.conf [root@bogon bin]# ps -ef|grep redis root 11122 1 0 15:09 ? 00:00:00 ./redis-server 127.0.0.1:6379 root 11193 5149 0 15:09 pts/1 00:00:00 grep --color=auto redis [root@bogon bin]# vim /etc/systemd/system/redis.service [root@bogon bin]# cat /etc/systemd/system/redis.service [Unit] Description=redis-server After=network.target [Service] Type=forking ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.target
啟動redis:
[root@bogon bin]# systemctl daemon-reload [root@bogon bin]# systemctl start redis.service [root@bogon bin]# systemctl enable redis.service Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /etc/systemd/system/redis.service. [root@bogon bin]# systemctl status redis.service ● redis.service - redis-server Loaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: disabled) Active: active (running) since 三 2023-03-22 15:14:40 CST; 16s ago Main PID: 13146 (redis-server) CGroup: /system.slice/redis.service └─13146 /usr/local/redis/bin/redis-server 127.0.0.1:6379 3月 22 15:14:40 bogon systemd[1]: Starting redis-server... 3月 22 15:14:40 bogon systemd[1]: Started redis-server.
設(shè)置軟連接,測試redis:
[root@bogon bin]# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis [root@bogon bin]# redis 127.0.0.1:6379> ping PONG 127.0.0.1:6379> quit
3、安裝maven:
下載地址:https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
安裝方法:https://blog.csdn.net/JackNaDa/article/details/102694782
如果maven倉庫下載慢,應(yīng)設(shè)置maven的國內(nèi)鏡像服務(wù)器,修改/home/crm/apache-maven-3.9.0/conf/settings.xml
<mirror> <id>alimaven</id> <mirrorOf>*</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror>
CentOs7安裝unzip:yum install -y unzip zip
4.編譯72crm-java-master源碼并將war文件部署到tomcat
4.1導(dǎo)入數(shù)據(jù)庫腳本
[root@bogon crm]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.40 MySQL Community Server (GPL) Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database crm9; Query OK, 1 row affected (0.00 sec) mysql> use crm9; Database changed mysql> show tables; Empty set (0.00 sec) mysql> source /home/crm/72crm-java-master/docs/crm9.sql; Query OK, 0 rows affected (0.00 sec)
4.2修改src配置
src/main/resources/config/crm9-config.txt
src/main/resources/config/redis.json
src/main/resources/config/undertow.txt
pom.xml
src/main/java/com/kakarote/crm9/Application.java
4.3在/home/crm/72crm-java-master/下 執(zhí)行mvn clean package打包,將生成的war包放置到tomcat前端路徑中
[crm@bogon 72crm-java-master]$ cp target/ROOT.war /home/crm/apache-tomcat-9.0.73/webapps/
5.注意:如果無法通過其他終端訪問服務(wù)器ip:8080,需要設(shè)置防火墻開防8080端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
6.驗證
訪問http://服務(wù)器真實ip:8080
如果啟動失敗,查看/home/crm/apache-tomcat-9.0.73/logs/catalina.out,檢查數(shù)據(jù)庫連接是否正常等
2023-03-22 16:31:36,839 [ERROR][Druid-ConnectionPool-Create-324529712][DruidDataSource.java:2103] create connection error, url: jdbc:mysql://127.0.0.1:3306/crm?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false, errorCode 1049, state 42000 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'crm'
遇到的問題:
1、使用mvn 打包時,阿里云鏡像也存在連接不穩(wěn)定的情況,遇到報錯,多執(zhí)行幾次就過了。
Downloading from alimaven: http://maven.aliyun.com/nexus/content/groups/public/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar Downloading from alimaven: http://maven.aliyun.com/nexus/content/groups/public/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar Downloading from alimaven: http://maven.aliyun.com/nexus/content/groups/public/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar Downloading from alimaven: http://maven.aliyun.com/nexus/content/groups/public/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 11.139 s [INFO] Finished at: 2023-03-22T16:22:09+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project crm9: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile failed: Plugin org.apache.maven.plugins:maven-compiler-plugin:3.6.1 or one of its dependen cies could not be resolved: The following artifacts could not be resolved: org.apache.maven:maven-plugin-api:jar:3.0, org.sonatype.sisu:sisu-inject-plexus:j ar:1.4.2, org.sonatype.sisu:sisu-guice:jar:noaop:2.1.7, org.sonatype.aether:aether-spi:jar:1.7: Could not transfer artifact org.apache.maven:maven-plugin-ap i:jar:3.0 from/to alimaven (http://maven.aliyun.com/nexus/content/groups/public/): maven.aliyun.com: Unknown host maven.aliyun.com -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException [crm@bogon 72crm-java-master]$ mvn clean package
2、盡量不要修改數(shù)據(jù)庫名稱等配置項,會增加出錯機率,啟動異常還很難查原因。其他服務(wù)器改過數(shù)據(jù)庫名稱(crm),結(jié)果用了其他服務(wù)器的配置,和新服務(wù)器的數(shù)據(jù)庫名(crm9)不匹配。
3、tomcat、maven安裝路徑盡量固定到/home/crm下,配置PATH等系統(tǒng)環(huán)境變量時復(fù)制粘貼路徑,避免手敲出錯。我遇到了maven的path路徑配置成其他服務(wù)器的路徑(/home/wkcrm/...),結(jié)果輸入mvn命令系統(tǒng)提示未知命令。
4、可以centos復(fù)制磁盤的命令dd 克隆系統(tǒng),這樣就不用重復(fù)安裝了。
浙公網(wǎng)安備 33010602011771號