当前位置: 首页 > news >正文

ubuntu18服务安装

一、JDK安装

  1. 将jdk解压缩到该目录 /opt/

    sudo tar -zxvf jdk-8u261-linux-x64.tar.gz -C /opt/
    #重命名
    cd /opt
    sudo mv jdk-8u261-linux-x64 jdk_8
  2. 修改环境变量

    sudo vi ~/.bashrc
    #在文件最后追加以下文本
    #进入编辑器后输入以下指令:
    #1. G //将光标移到最后一行
    #2. o //在当前行的下方插入一行并进入编辑模式
    #3. 追加以下文本
    export JAVA_HOME=/opt/jdk_8
    #export JRE_HOME=${JAVA_HOME}/jre
    #export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin
    #4. Esc 键,推出编辑模式
    #5. :wq 退出编辑器并保存
  3. 执行配置文件,使配置立即生效

    source ~/.bashrc
  4. 查看jdk是否安装成功

    java -version
    #若出现以下信息,则说明jdk安装成功
    java version "1.8.0_261"
    Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

二、MySQL安装

  1. 将mysql解压缩到该目录 /opt/

    sudo tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C /opt/
    #重命名
    cd /opt
    sudo mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql8.0
  2. 创建用户组以及用户和密码

    sudo groupadd mysql
    sudo useradd -r -g mysql mysql
  3. 创建 data 数据存储目录

    sudo mkdir /opt/mysql8.0/data
    
  4. 授权用户

    sudo chown -R mysql.mysql /opt/mysql8.0
    
  5. 新建配置文件

    sudo touch /etc/my.cnf
    
  6. 向配置文件中添加文本

    #进入编辑器
    sudo vi /etc/my.cnf
    #输入指令 i 后追加以下文本[mysqld]
    #端口号
    port=3306
    #设置mysql的安装目录
    basedir=/opt/mysql8.0
    #设置mysql数据库的数据的存放目录
    datadir=/opt/mysql8.0/data
    #设置客户端默认字符集
    character-set-server=utf8mb4
    #创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    #socket
    socket=/tmp/mysql.sock
    #pid file
    pid-file=/opt/mysql8.0/data/mysqld.pid
    #log-error
    log-error=/opt/mysql8.0/data/mysqld.log
    #Esc键,退出编辑模式
    #:wq 退出编辑器并保存
    
  7. 进入bin目录

    cd /opt/mysql8.0/bin
    
  8. 初始化mysql

    #安装依赖包
    sudo apt-get install libaio1
    
    ./mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --basedir=/opt/mysql8.0 --datadir=/opt/mysql8.0/data            
    
    #查看日志获取临时密码
    cat /opt/mysql8.0/data/mysqld.log
    #"root@localhost:" 后面的字符就是临时密码
    2022-11-09T15:16:55.501722Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
    2022-11-09T15:17:03.429839Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
    2022-11-09T15:17:07.641696Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: pn:JATMqK4j:
    
  9. 把启动脚本放到开机初始化目录中

    #切换目录
    cd /opt/mysql8.0
    #将启动脚本放到开机初始化目录中
    cp support-files/mysql.server /etc/init.d/mysql
    #CentOS下添加到开机自启的服务
    chkconfig --add mysql
    #CentOS下查看开机自启服务列表
    chkconfig --list#添加环境变量
    sudo vi ~/.bashrc
    #追加以下文本
    PATH=$PATH:/opt/mysql8.0/bin
    #执行配置文件,使其立即生效
    source ~/.bashrc
    

    Ubuntu环境下添加开机自启动脚本

    #创建mysql.service
    touch /lib/systemd/system/mysql.service
    #编辑内容
    vim /lib/systemd/system/mysql.service
    #追加以下文本
    [Unit]
    Description=MySQL Server
    After=network.target[Service]
    Type=forking
    ExecStart=/bin/bash /opt/mysql8.0/support-files/mysql.server start
    PrivateTmp=true[Install]
    WantedBy=multi-user.target
    #:wq 保存并退出#重新加载服务配置
    systemctl daemon-reload
    #设置为开机启动
    systemctl enable mysql.service
    
  10. 启动mysql

    cd /opt/mysql8.0/support-files
    sudo ./mysql.server start
    
    mysql -uroot -p
    #输入临时密码
    
    #修改密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY '1qaz!QAZ';#若之后再修改密码使用以下命令
    ALTER USER 'root'@'%' IDENTIFIED BY 'your_password';
    
  11. 允许远程访问

    #使用数据库
    use mysql;
    #更新信息
    update user set host = '%' where user ='root';
    #刷新权限
    flush privileges;
    

三、nacos安装

  1. 将nacos解压缩到该目录 /opt/

    sudo apt install unzip
    sudo unzip nacos-server-2.1.0.zip  -d /opt/
    
  2. 修改配置文件

    sudo vi /opt/nacos/conf/application.properties
    ###If use MySQL as datasource:spring.datasource.platform=mysql###Count of DB:db.num=1###Connect URL of DB:db.url.0=jdbc:mysql://127.0.0.1:3306/jwdptd_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTCdb.user.0=rootdb.password.0=your_password
    #:wq 退出并保存
    
  3. 修改nacos启动脚本

    vim /opt/nacos/bin/startup.sh
    #添加唤醒mysql命令
    /opt/mysql8.0/bin/mysql -uroot -h 127.0.0.1 -p1qazQAZ -e 'quit'
    #重新配置JAVA_HOME, 将后三行注释掉
    [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/jdk_8
    #[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
    #[ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
    #[ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
    
  1. 添加开机自启动脚本

    #创建nacos.service
    touch /lib/systemd/system/nacos.service
    #编辑内容
    vim /lib/systemd/system/nacos.service
    #追加以下文本
    [Unit]
    Description=nacos
    After=network.target mysql.service[Service]
    Type=forking
    ExecStart=/bin/bash /opt/nacos/bin/startup.sh
    ExecStop=/bin/bash /opt/nacos/bin/shutdown.sh
    PrivateTmp=true[Install]
    WantedBy=multi-user.target
    #:wq 保存并退出#重新加载服务配置
    systemctl daemon-reload
    #设置为开机启动
    systemctl enable nacos.service
    

四、redis安装

  1. 将redis解压缩到该目录 /opt/redis

    sudo tar -zxvf redis-6.2.6.tar.gz -C /opt/
    
  2. 安装编译工具

    sudo apt install make
    sudo apt install make-guile
    sudo apt install gcccd deps/
    make hiredis jemalloc linenoise lua geohash-int
    
  3. 编译安装

    sudo make MALLOC=libc
    sudo make install
    
  4. 修改配置文件

    sudo vi redis.conf
    #开启远程连接,将bind 127.0.0.1注释掉
    #bind 127.0.0.1#保护模式关闭
    protected-mode no#后台启动
    daemonize yes#添加密码
    requirepass your_password
    

五、nginx安装

  1. 将redis解压缩到该目录 /opt/

    sudo tar -zxvf nginx-1.23.0.tar.gz -C /opt/
    
  2. 安装编译工具

    sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g zlib1g-dev
    
  3. 配置

    cd /opt/nginx-1.23.0#http模式配置, --prefix指定安装目录
    ./configure --prefix=/usr/local/nginx#或者带https模块配置
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module#编译
    make#安装
    make install
    

CentOS下可能会缺少相关依赖

#下载依赖库
yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel

六、openssl 安装

     MediaServer服务启动需要openssl版本为1.1.1及以上,如果是ubuntu18.04可能默认的openssl版本为1.1.0,如果是18.04.6默认是1.1.1,这里我们的Ubuntu版本默认采用server版,假如安装了低版本的操作系统需要离线手动安装openssl。
  1. 解压openssl到opt目录下

     tar -zxvf openssl-1.1.1k.tar.gz -C /opt/
    
  2. 配置

    cd /opt/openssl-1.1.1k
    ​
    #创建openssl安装目录
    mkdir -p  /usr/local/openssl  
    ​
    #配置并指定安装目录
    ./config shared --openssldir=/opt/openssl-1.1.1s  --prefix=/usr/local/openssl
  3. 安装

    ​
    make && make install
  4. 常见错误

    #CentOS环境下安装若出现:
    openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file : No such file or directory
    #这是由于openssl库的位置不正确引起的。
    #解决办法:
    #手动建立软连接:
    ln -s /usr/local/openssl/lib/libssl.so.1.1  /usr/lib64/libssl.so.1.1
    ln -s /usr/local/openssl/lib/libcrypto.so.1.1  /usr/lib64/libcrypto.so.1.1
    #libssl错误 : 
    su root 
    echo “/usr/local/openssl/lib" >> /etc/ld.so.conf
    ldconfig
    ​
    #如果不行需要再将新编译的lib目录下的libcrypto.1.1.1.so 文件拷贝到/usr/lib目录下 
    cp /usr/local/openssl/lib   /usr/lib
  5. 创建/usr/bin的软连接

    ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

七、安装ffmpeg

  1. 将ffmpeg解压缩到该目录 /opt/

    sudo tar -xvf ffmpeg-4.4.3.tar.bz2 -C /opt/
  2. 配置

    cd /opt/ffmpeg-4.4.3
    ​
    mkdir /usr/local/ffmpeg
    ​
    #http模式配置, --prefix指定安装目录
    ./configure --enable-shared --prefix=/usr/local/ffmpeg
    ​
    #编译
    make
    ​
    #安装
    make install
  3. 配置环境变量

    sudo vi ~/.bashrc
    ​
    export PATH=$PATH:/usr/local/ffmpeg/bin
    ​
    source ~/.bashrc
  4. ffmpeg错误解决

    #错误描述 libavdevice.so.58: cannot open shared object file: No such file or directory
    ​
    vim /etc/ld.so.conf.d/ffmpeg.conf 或者bind-export-x86_64.conf这个目录
    插入 /usr/local/ffmpeg/lib 
    sudo ldconfig
    再次执行ffmpeg即可成功
    ​
    #nasm/yasm not found or too old. Use –disable-x86asm for a crippled build.
    1.在http://www.tortall.net/projects/yasm/releases/上下载适合自己的版本
    2.解压并进入yasm的目录
    3.执行./configure
    4.执行make
    5.执行sudo make install
    安装成功后再在ffmpeg下执行configure即可通过
    ​
    #少库
    libavfilter.so.7
    libavformat.so.58
    libavcodec.so.58
    libswresample.so.3
    libswscale.so.5
    libavutil.so.56
    ​
    ln -s /usr/local/ffmpeg/lib/libavutil.so.56 /usr/lib64/libavutil.so.56
    ​
    http://www.javashuo.com/article/p-ccnnkngg-vd.html

八、应用程序部署

使用MobaXterm_Personal_22.0远程工具将文件上传到服务器
​
#创建媒体服务目录并上传 MediaServer目录下的所有文件
mkdir /opt/gwxfapp/MediaServer
​
#创建核心业务服务相关目录并上传jarapp目录下所有文件
mkdir /opt/gwxfapp/jarapp
​
#创建前端安装包目录并上传dist目录下所有文件
mkdir /opt/gwxfapp/dist
​
#上传db文件创建数据并导入sql脚本
mkdir -p /opt/gwxfdb/
mysql -u root -p 
create database jwdptd_config character set = 'utf8' collate = 'utf8_general_ci';
create database jwdptd_bpsdb character set = 'utf8' collate = 'utf8_general_ci';
source /opt/gwxfapp/db/gwxf-config.sql
source /opt/gwxfapp/db/gwxf-bpsdb.sql

| | | | ---------------------- | ----------------------------------------- |

九、配置修改

  1. 修改nacos连接数据库配置文件的ip地址及数据库实例名称、用户名、密码等信息,上面安装nacos也有说明

    ### If use MySQL as datasource:
    spring.datasource.platform=mysql
    ​
    ### Count of DB:
    db.num=1
    ​
    ### Connect URL of DB:db.url.0=jdbc:mysql://10.150.193.35:3306/gwxf_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTCdb.user.0=root    db.password.0=1qaz!QAZ
  2. 修改nginx代理转发后台网关服务地址

           location /prod-api/ {proxy_set_header   Host             $host;proxy_set_header   x-forwarded-for  $remote_addr;proxy_set_header   X-Real-IP        $remote_addr;proxy_pass http://10.150.193.35:9209/;}
  3. 修改应用程序配置(从nacos界面上进行编辑修改,主要包括连接redis的ip地址【默认本机】及端口号与密码信息、数据库的连接地址及端口和数据库实例及用户名密码信息、媒体服务的ip地址及端口号和秘钥信息、本地sip监听ip及gb注册信息)

十、开机自启动设置及检查

  1. redis开机自启动设置

    #创建自启动shell脚本redisd 并配置相关信息
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    CLIEXEC=/usr/local/bin/redis-cli
    ​
    PIDFILE=/var/run/redis_${REDISPORT}.pid
    CONF="/etc/redis/${REDISPORT}.conf"
    ​
    #设置开机自启动
    systemctl enable redisd.service #开机运行服务
    ​
    #查询是否开机自启动
    systemctl is-enabled redisd.service

    CentOS环境下设置Redis开机自启

    mkdir /etc/redis
    cp /opt/redis-6.2.6/redis.conf /etc/redis/6379.conf
    #复制redis启动脚本
    cp /opt/redis-6.2.6/utils/redis_init_script /etc/init.d/redis
    #修改配置文件
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    CLIEXEC=/usr/local/bin/redis-cli
    ​
    PIDFILE=/var/run/redis_${REDISPORT}.pid
    CONF="/etc/redis/${REDISPORT}.conf"
    #设为开机启动
    chkconfig redis on
  2. mysql开机自启动设置

    上面目录二所有启动和设置mysql的脚本都已经初始化完成,只需要设置开机自启动即可
    ​
    #设置开机自启动
    systemctl enable mysql.service #开机运行服务
  3. 其他开机自启动设置

    #创建启动脚本
    vim /opt/gwxfapp.sh
    #添加启动脚本
    #!/bin/bash
    /usr/local/nginx/sbin/nginx
    cd  /root/znlyapp/MediaServer
    nohup ./MediaServer -d &
    cd  /opt/gwxfapp/jarapp/
    ./start.sh
    ​
    #添加完毕后将脚本设为可执行文件
    chmod +x /opt/gwxfapp.sh
    #创建gwxfapp.service 并加入以下内容
    sudo vim /lib/systemd/system/gwxfapp.service
    ​
    [Unit]
    Description=gwxfapp 
    After=network.target nacos.service
    ​
    [Service]
    Type=forking
    ExecStart=/bin/bash /opt/gwxfapp.sh
    PrivateTmp=true
    ​
    [Install]  
    WantedBy=multi-user.target  
    #重新加载服务配置   
    sudo systemctl daemon-reload       
    #设置开机自启动
    sudo systemctl enable jwdptdApp.service

    注: 如果java服务开机没有自启动,修改/opt/gwxfapp/jarapp/start.sh 将java命令改为绝对路径

    比如nohup java -jar xxx.jar & 改为nohup /home/java1.8/bin/java -jar xxx.jar &

  4. 检查服务自启动情况

    ps -ef|grep redis 
    ​
    ps -ef|grep nginx
    ​
    ps -ef|grep java
    ​
    ps -ef|grep MediaServer

十一、后续优化措施

  1. 目前主要安装文件(目前)

  2. 后续优化计划

    1. 把数据库修改为本地access数据库,规避mysql数据库的安装
    2. 把前端应用直接打包到jar包里的tomcat下规避nginx服务的安装
    3. 优化完善工务巡防目前暂时不用的服务
    4. 简化并固定所有ip配置、固定密码及服务安装路径
http://www.lryc.cn/news/62451.html

相关文章:

  • 这些使用工具大推荐,现在知道不晚
  • 【Java|golang】1048. 最长字符串链
  • Hive基础和使用详解
  • c/c++:栈帧,传值,传址,实参传值给形参,传地址指针给形参
  • 玩元宇宙血亏后 蓝色光标梭哈AI也挺悬
  • 生物---英文
  • ENVI 国产高分2号(GF-2)卫星数据辐射定标 大气校正 影像融合
  • 操作系统考试复习——第二章 进程控制 同步与互斥
  • mac gitstats查看git提交记录
  • 电脑系统错误怎么办?您可以看看这5个方法!
  • 九款顶级AI工具推荐
  • StringRedisTemplate-基本使用
  • ansible自动运维——ansible使用临时命令通过模块来执行任务
  • python 之数据类型(四)
  • 洛谷P1345 无向图最小割点数
  • 适合程序员阅读的有用书籍:
  • MySQL: 自动添加约束、更改(删除)表名和字段、删除表
  • 基于微博评论的细粒度的虚假信息识别软件
  • Android 11.0 系统systemui状态栏下拉左滑显示通知栏右滑显示控制中心模块的流程分析
  • ROS学习第三十二节——xacro构建激光雷达小车
  • 中厂,面试就问了4道题,凉了!
  • 22.轮播模块
  • MYSQL命令小总结
  • Java常见开发工具和Object类
  • Linux 配置YUM源(FTP方式获取软件源、使用阿里云yum源、同时使用本地源与在线源)YUM获取安装包并生成YUM软件仓库
  • Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务
  • 养老保障金查询系统【GUI/Swing+MySQL】(Java课设)
  • 国考省考行测:词句理解,词的对象指代,就近原则,主语一致法,语意语境分析上下文找出指代含义
  • 部署YUM仓库
  • SpringBoot框架(邮件发送Mail|持久层框架JPA|Extra前后端分离跨域处理|接口管理Swagger)这一篇就够了(超详细)