****项目Linux环境搭建
- 准备文件
- windows的安装包:(windows的软件安装就不做介绍了)
本地使用工具Vmware,xshll,xftp,达梦,navicat
- centos7.8(2003)
- jdk 1.8.0_201
- Nginx 1.15.7
- Redis 5.0.9
- go fastdfs
- 达梦7
- Mysql5.7
固定IP地址:
vi /etc/sysconfig/network-scripts/ ifcfg-ens32
网卡配置文件
TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens32" UUID="a72f9162-ac37-49c8-89b0-b379bfcf3bb7" DEVICE="ens32" ONBOOT="yes" IPADDR=192.168.1.151 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 |
重启网卡:service network restart
- 检查环境
防火墙设置:
查看Linux防火墙状态:systemctl status firewalld
关闭防火墙:systemctl stop firewalld
永久关闭防火墙:systemctl disable firewalld (禁止下次开机启动)
开启防火墙:systemctl start firewalld
内网需要安装依赖环境:
- 新建文件夹:mkdir -p /opt/software/yilai/ 上传RPM依赖包;
- 安装依赖环境21个,不知道要那个,就全安装上:
rpm -ivh /opt/software/yilai/*.rpm --nodeps --force
3、查看gcc是否安装成功:rpm -qa|grep gcc
- 安装JDK
(我的安装包上传路径均为:/opt/software/)
1、新建文件夹: mkdir -p /usr/local/java
2、复制jdk-8u201-linux-x64.tar.gz 到java目录下:
mv /opt/software/jdk-8u201-linux-x64.tar.gz /usr/local/java
3、解压:cd/usr/local/java/;tar -zxvf /usr/local/java/jdk-8u201-linux-x64.tar.gz
4、编辑环境变量文件:vi /etc/profile
文件末尾追加内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_201 export JRE_HOME=/$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin |
5、执行该命令让profile文件立即生效:source /etc/profile
6、查看是否安装成功:java -version
- 安装nginx
(我的安装包上传路径均为:/opt/software/)
1、新建一个文件夹: mkdir -p /usr/local/nginx
将安装包移动到该目录:mv /opt/software/nginx-1.15.7.tar.gz /usr/local/nginx
2、解压该文件:cd /usr/local/nginx/;tar -zxvf /usr/local/nginx/nginx-1.15.7.tar.gz
3、切换到解压目录下: cd /usr/local/nginx/nginx-1.15.7
编译并安装:
./configure --prefix=/usr/local/nginx/server --with-http_stub_status_module && make && make install
4、启动:/usr/local/nginx/server/sbin/nginx
重启:/usr/local/nginx/server/sbin/nginx -s reload(启动之后才能使用重启命令)
关闭:/usr/local/nginx/server/sbin/nginx -s stop
查看状态可以看nginx端口: ss -natulp|grep 80
修改nginx配置文件:vi /usr/local/nginx/server/conf/nginx.conf
把下面的内容加进去(标红的地方是新加入的,视情况更改内容)
修改之后重启:/usr/local/nginx/server/sbin/nginx -s reload
nginx配置文件
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; client_max_body_size 1024M; #gzip on; server { listen 8081; server_name localhost; root /usr/local/nginx/nginx-1.15.7/dist;
location / { root /usr/local/nginx/nginx-1.15.7/dist; # 网站根目录,这里选用 react 子应用构建后的文件目录 index index.html; # 默认首页文件 try_files $uri $uri/ /index.html @rewrites; # 兼容 history 路由模式,找不到的文件直接重定向到 index.html expires -1; # 首页一般没有强制缓存 add_header Cache-Control no-cache; add_header "Access-Control-Allow-Origin" $http_origin; # 全局变量获得当前请求origin,带cookie的请求不支持* add_header "Access-Control-Allow-Methods" "*"; # 允许请求方法 add_header "Access-Control-Allow-Headers" "*"; # 允许请求的 header }
location /prod-api/ { proxy_pass http://localhost:8085/; }
location /flow-prod-api/ { proxy_pass http://localhost:8083/activiti/; } }
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} } |
浏览器输入你服务器IP地址即可查看nginx是否启动成功
- 安装redis
(我的安装包上传路径均为:/opt/software/)
- 新建一个文件夹:mkdir -p /usr/local/redis
切换到该路径下:cd /usr/local/redis
将安装包移动到该目录:mv /opt/software/redis-5.0.9.tar.gz /usr/local/redis
- 解压文件: tar -vxf /usr/local/redis/redis-5.0.9.tar.gz
- 切换到该目录下编译:cd /usr/local/redis/redis-5.0.9;make
- 切换到目录下安装: cd /usr/local/redis/redis-5.0.9/src;make install
- 配置密码,vi /usr/local/redis/redis-5.0.9/redis.conf
- 文件内按/ 输入 foobared快速定位。
将 # requirepass foobared改为requirepass 123456789(前面的#删除)
- / 输入 bind 将 127.0.0.1(如图位置)改为0.0.0.0 (如图位置)
启动:
/usr/local/redis/redis-5.0.9/src/redis-server /usr/local/redis/redis-5.0.9/redis.conf >>/dev/null &
查看端口状态: ss -lanptu|grep 6379
- 安装Gofastdfs
(我的安装包上传路径均为:/opt/software/)
- 新建一个文件夹: mkdir -p /usr/local/gofastdfs
- 将文件移动到该目录下:mv /opt/software/fileserver /usr/local/gofastdfs
- 切换到该目录下: cd /usr/local/gofastdfs
- 更改文件权限: chmod 777 fileserver
- 启动: cd /usr/local/gofastdfs;./fileserver &
- 更改配置文件:sed -i 's/8080/9999/' /usr/local/gofastdfs/conf/cfg.json
("addr": ":8080"将这里改为"addr": ":9999 )
- 启动: kill -9 $(pidof fileserver);cd /usr/local/gofastdfs/ ; ./fileserver
(杀掉进程,进入文件路径,启动Gofastdfs)
- 安装达梦
(我的安装包上传路径均为:/opt/software/)
1、新建一个挂在路径:mkdir /mnt/cdrom
2、达梦ISO文件挂载到该路径:
mount /opt/software/dm7_setup_rh6_64_ent_20180717.iso /mnt/cdrom/
切换到挂载目录下:cd /mnt/cdrom/
3、安装达梦 ./DMInstall.bin -i
4、初始化数据库:先切换到安装目录的bin目录下,我的是:cd /opt/dmdbms/bin
5、安装运行: ./dminit (初始化可以那按照下面阴影来选择填写)
initdb V7.6.0.77-Build(2018.07.17-94714)ENT
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2021-10-10
input system dir: /home/dmdba/dmdbms/data
input db name: emms
input port num: 5236
input page size(4, 8, 16, 32): 8
input extent size(16, 32): 16
input time zone(-12:59,+14:00): +8:00
string case sensitive? ([Y]es, [N]o): y
which charset to use? (0[GB18030], 1[UTF-8], 2[EUC-KR]): 0
length in char? ([Y]es, [N]o): n
enable database encrypt? ([Y]es, [N]o): n
page check mode? (0/1/2): 0
input elog path: /home/dmdba/dmdbms/data
auto_overwrite mode? (0/1/2): 0
log file path: /home/dmdba/dmdbms/data/test/test01.log
log file path: /home/dmdba/dmdbms/data/test/test02.log
write to dir [/home/dmdba/dmdbms/data/test].
create dm database success. 2021-09-26 19:24:14
6、注册数据库服务,
先切换到达梦安装文件的root目录下:cd /opt/dmdbms/script/root
运行:./dm_service_installer.sh -t dmserver -i /home/dmdba/dmdbms/data/emms/dm.ini -p emms
7、切换到:cd /opt/dmdbms/bin
启动: nohup ./DmServiceemms start &
(停止:./DmServiceemms-21-23 stop 查看服务状态:./DmServiceemms status)
继续在bin目录下执行命令: ./disql (账号密码为空,直接回车,显示SQL即可)
- 管理员登陆:conn SYSDBA/SYSDBA@192.168.1.148:5236(用自己的IP和端口,查IP命令是:ip a),能进去表示安装完成。
9、Windows客户端导入数据
- 登陆到服务器,主机名就是服务器IP,默认端口5236,账号密码都是SYSDBA
- 创建用户:(复制下面文本框的代码粘贴,然后执行)
EMMS达梦数据库配置文件
create user "GX_EMMS" identified by "123456789" limit failed_login_attemps 3, password_lock_time 1, password_grace_time 10; grant "DBA", "PUBLIC", "RESOURCE" to "GX_EMMS"; grant ALTER DATABASE,RESTORE DATABASE,CREATE USER,ALTER USER,DROP USER,CREATE ROLE,CREATE SCHEMA,CREATE TABLE,CREATE VIEW,CREATE PROCEDURE,CREATE SEQUENCE,CREATE TRIGGER,CREATE INDEX,CREATE CONTEXT INDEX,BACKUP DATABASE,CREATE LINK,CREATE REPLICATE,CREATE PACKAGE,CREATE SYNONYM,CREATE PUBLIC SYNONYM,ALTER REPLICATE,DROP REPLICATE,DROP ROLE,INSERT TABLE,UPDATE TABLE,DELETE TABLE,SELECT TABLE,REFERENCES TABLE,GRANT TABLE,INSERT VIEW, UPDATE VIEW,DELETE VIEW,SELECT VIEW,GRANT VIEW,EXECUTE PROCEDURE,GRANT PROCEDURE, SELECT SEQUENCE,GRANT SEQUENCE,EXECUTE PACKAGE,GRANT PACKAGE,DROP PUBLIC SYNONYM,ADMIN REPLAY,ADMIN BUFFER,CREATE TABLESPACE,ALTER TABLESPACE,DROP TABLESPACE,CREATE MATERIALIZED VIEW,SELECT MATERIALIZED VIEW,CREATE DOMAIN,GRANT DOMAIN,USAGE DOMAIN,DUMP TABLE,ADMIN JOB to "GX_EMMS"; |
- 、鼠标右键刷新即可看到刚创建的用户——右键导入数据
达梦数据导入完成
- 安装Mysql
(我的安装包上传路径均为:/opt/software/)
先查看系统是否自带数据库,有就卸载了
[root@EMMS-21-23 /]# rpm -qa|grep mariadb
mariadb-libs-5.5.65-1.el7.x86_64
[root@EMMS-21-23 /]# rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
- 新建一个文件夹: mkdir -p /usr/local/mysql
移动到安装包目录: cd /opt/software/
- 解压: tar -vxf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
- 将解压文件移动到新建目录下:mv /opt/software/*.rpm /usr/local/mysql/
- 强制安装:rpm -ivh /usr/local/mysql/*.rpm --nodeps --force
查看安装:rpm -qa|grep mysql
- 启动mysql:service mysqld start
(关闭:service mysqld stop)
- 修改配置文件:vi /etc/my.cnf
(在配置文件末尾加入 skip-grant-tables)
- 重启mysql :service mysqld restart
- 修改密码:(修改为123456789)进入:mysql
- 修改密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Gx123456,./';
- 更新:flush privileges;
- 退出mysql: exit
- 修改配置文件: vi /etc/my.cnf
- 删除刚刚加入的skip-grant-tables,
再重启mysql: service mysqld restart
- 使用密码登陆:mysql -uroot -p (密码是zzz123456,./)
9、登录mysql之后,将localhost改为 %,共计三条命令,如下:
use mysql;
select * from user;
update user set host = '%' where user= 'root';
flush privileges;
10、使用Navicat链接即可。
查看端口状态: ss -lanptu|grep 3306
11、Windows安装navicat客户端,连接mysql:
- 先打开navicat连接mysql服务器(登陆IP地址为服务器地址,Linux输入ip a查看,端口3306,账号root,密码123456789)
右键新建数据库——名称gx_emms_activiti,字符如图——确定
鼠标双击选中,右键新建的数据库——运行SQL文件——选择确定
Mysql数据导入完成
- 项目部署
- 达梦数据库导入数据。(详见第八章-第9节)
- Mysql数据导入。(详见第九章-第11节)
- 导入前端包到 /usr/local/nginx/nginx-1.15.7/
添加权限: chmod 777 /usr/local/nginx/nginx-1.15.7/dist
- 导入jar包
- 新建目录 mkdir –p /usr/local/emms
- 将guanxiang-emms-activiti.jar和guanxiang-emms-rest.jar上传到/usr/local/emms路径
- 将dist上传到/usr/local/nginx/nginx-1.15.7/目录下
- 添加权限:chmod 777 /usr/local/emms/*.jar
- 执行该命令: java -jar /usr/local/rest.jar (等待时间较长)
执行该命令: java -jar /usr/local/activiti.jar (等待时间较长)
查看java运行情况:ps aux|grep java
- 服务启动
添加开机自启:vi /etc/rc.local
(文件末尾添加如下命令)
/usr/local/nginx/server/sbin/nginx
/usr/local/redis/redis-5.0.9/src/redis-server /usr/local/redis/redis-5.0.9/redis.conf >>/dev/null &
/opt/dmdbms/bin/DmServiceemms start
service mysqld start
nohup /usr/local/java/jdk1.8.0_201/bin/java -jar /usr/local/rest.jar >>/dev/null 2>&1 &
nohup /usr/local/java/jdk1.8.0_201/bin/java -jar /usr/local/activiti.jar >>/dev/null 2>&1 &
cd /usr/local/gofastdfs/ ; ./fileserver
文件权限修改:chmod 777 /etc/rc.local
可以执行该命令查看效果:bash -x /etc/rc.local
手动启动:
启动nginx:/usr/local/nginx/server/sbin/nginx
启动redis:/usr/local/redis/redis-5.0.9/src/redis-server /usr/local/redis/redis-5.0.9/redis.conf >>/dev/null &
启动达梦: /opt/dmdbms/bin/DmServiceemms start
启动MySQL:service mysqld start
启动Gofastdfs: cd /usr/local/gofastdfs/ ; ./fileserver
nohup java -jar /usr/local/rest.jar >>/dev/null &
nohup java -jar /usr/local/activiti.jar >>/dev/null &
- 安装目录
redis安装路径:cd /usr/local/redis/redis-5.0.9/
nginx安装路径:cd /usr/local/nginx/nginx-1.15.7/
达梦安装路径: cd /opt/dmdbms/
Mysql安装路径:cd /usr/local/mysql
Gofastdfs路径:cd /usr/local/gofastdfs
前端服务包路径:cd /usr/local/nginx/nginx-1.15.7/dist
rest.jar和activiti.jar存放路径:cd /usr/local/emms
- 系统升级
导入达梦数据脚本 (详见第七章-第9节)
导入MySQL数据脚本(详见第八章-第11节)
更新前端服务 (详见第九章-第3节)
(删除原有的,上传新的,并授权:chmod 777 /usr/local/nginx/nginx-1.15.7/dist)
更新jar包 (详见第九章-第4节)
(删除原有的,上传新的,并授权:chmod 777 /usr/local/*.jar)
- 安装MongoDB数据库
(我的安装包上传路径均为:/opt/software/)
1、解压文件: tar -zxvf /opt/software/mongodb-linux-x86_64-rhel70-3.4.1.tgz
移动:mv mongodb-linux-x86_64-rhel70-3.4.1 /usr/local/mongodb
2、创建文件目录:mkdir -p /usr/local/mongodb/data/db/;mkdir /usr/local/mongodb/logs;mkdir /usr/local/mongodb/bin/conf/
3、创建配置文件并编写:vi /usr/local/mongodb/bin/conf/mongodb.conf
port=27017 dbpath=/usr/local/mongodb/data/db logpath=/usr/local/mongodb/logs/mongodb.log fork=true nohttpinterface=true auth=true bind_ip = 0.0.0.0 |
4、后台运行mongodb: ./mongod --dbpath=/usr/local/mongodb/data/db/ --logpath=/usr/local/mongodb/logs/mongodb.log --fork
5、将服务添加至service启动:vi /lib/systemd/system/mongodb.service
[Unit] Description=mongodb After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/conf/mongodb.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/bin/conf/mongodb.conf PrivateTmp=true [Install] WantedBy=multi-user.target |
并赋予权限:chmod 755 /lib/systemd/system/mongodb.service
启动mongodb服务:systemctl start mongodb.service
停止mongodb服务:systemctl stop mongodb.service
重启mongodb服务:systemctl restart mongodb.service
- 配置本地yum源
(需要先查看虚拟机的,设置——CD/DVD(IDE)——设备状态(勾选已链接))
1、创建挂载目录,一般是:mkdir /mnt/cdrom
2、挂载镜像文件:mount /dev/cdrom /mnt/cdrom
3、备份原来的yum源(就是备份/etc/yum.repos.d/路径下所有文件)
备份原有的yum: mkdir /etc/yumbeifen;mv /etc/yum.repos.d/* /etc/yumbeifen
4、新建一个yum源:touch zhang.repo(后缀一定要是repo格式)
配置晕的yum源:vi /etc/yum.repos.d/zhang.repo (配置文件直接粘贴下面的就好了)
[Centos-zhang]
name=centos-zhang-yum
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
5、更新yum源,先清除旧的源:yum clean all 再更新yum源:yum makecache
检查是否配置成功,可以安装一个gcc试试:yum install gcc (安装后查看是否安装成功:rpm -qa|grep gcc)
- docker安装使用
- 上传安装包并解压
tar -xvf docker-18.06.3-ce.tgz
- 将解压出来的docker文件内容移动到 /usr/bin/ 目录下
cp docker/* /usr/bin/[g3]
- 将docker注册为service
vi /etc/systemd/system/docker.service
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes performance problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process # restart the docker process if it exits prematurely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target |
- 启动
chmod +x /etc/systemd/system/docker.service #添加文件权限并启动docker
systemctl daemon-reload #重载unit配置文件
systemctl start docker #启动Docker
systemctl status docker #查看Docker状态,出现running或者active 则允许成功
systemctl enable docker.service #设置开机自启(docker启动之后设置开机自起)
- docker常用命令:
docker images #查看镜像列表
docker pull 镜像名或者ID #拉取镜像到本地
docker rm 容器名或ID #删除容器
docker rmi 镜像名或者ID #删除一个或多个镜像
docker save -o 到处路径 镜像ID #保存到本地
docker load -i 镜像路径 #加载本地镜像
docker ps #查看已启动容器(-a所有容器)