ubuntu18服务安装

24 篇文章 0 订阅

一、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=UTC
     db.user.0=root
     db.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 gcc
    
    cd 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=UTC
     db.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配置、固定密码及服务安装路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值