记一次腾讯云部署项目过程

Posted bingoj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次腾讯云部署项目过程相关的知识,希望对你有一定的参考价值。

云服务:腾讯云
系 统 :ubuntu1.6

一、安装Jdk

  • 1.首先去官网下载jdk安装包并用xftp或其他工具上传到自己的服务器上去:

  • 2.到jdk安装目录下执行解压命令:
    sudo tar -zxvf ./jdk-8u171-linux-x64.tar.gz -C /usr/local //将jdk解压到/usr/local目录下 ./代表当前目录 c 指定解压目录

  • 3.配置环境变量:
    用 sudo vim /etc/profile 打开系统配置环境变量的文件 ,在文件末尾加入配置如下内容

    export JAVA_HOME=/root/app/jdk1.8.0_161 //JAVA_HOME为jdk的解压目录
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

    添加完成保存退出后执行 source /etc/profile 使配置文件生效。

    二、安装mysql

    mysql安装命令

    sudo apt-get install mysql-server
    sudo apt-get install mysql-client
    sudo apt-get install libmysqlclient-dev

    启动、关闭服务和查看运行状态

    sudo service mysql start
    sudo service mysql stop
    sudo service mysql status

安装过程中会提示输入root用户的密码和确认密码,两次密码保持一致并记下来,最好不要设置过于简单

登陆mysql
mysql -u root -p 后按回车并输入刚才安装过程的密码。

提示:
mysql 5.7版本的配置文件有所变化,cat /etc/mysql/my.cnf 打开配置文件看到如下内容:

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

里面包含了两个子文件夹,需要修改的话 去打开/etc/mysql/mysql.conf.d/mysqld.cnf 这个配置文件,

允许远程连接:
打开 /etc/mysql/mysql.conf.d/mysqld.cnf 这个配置文件 注释掉 bind-address= 127.0.0. 也就是在前面加 #
这个时候mysql还是不能支持远程连接的,

不安全的做法:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;//这样做不太安全,可以再创建一个用户允许远程连接

安全的做法:
创建一个mysql用户:

CREATE USER username@ip IDENTIFIED BY 'password';

授予权限:

GRANT ALL ON *.* TO 'username'@'ip' IDENTIFIED BY 'password' WITH GRANT OPTION;//根据具体情况授予相应权限

三、安装nginx

首先安装前需要依赖第三方库:

  • 1.安装gcc g++的依赖库
    sudo apt-get install build-essential
    sudo apt-get install libtool

  • 2.安装pcre依赖库(http://www.pcre.org/
    sudo apt-get update
    sudo apt-get install libpcre3 libpcre3-dev

  • 3.安装zlib依赖库
    sudo apt-get install zlib1g-dev

  • 4.安装SSL依赖库
    sudo apt-get install openssl

接下来真正要安装nginx,安装步骤如下:(以上为准备工作)

  • 1.去nginx官网下载稳定版nginx安装包上传到服务器 或执行 wget http://nginx.org/download/nginx-1.14.0.tar.gz 下载安装包
  • 2.将nginx进行解压 sudo tar -zxvf ./nginx-1.14.0.tar.gz -C ./ //将nginx解压到当前目录
  • 3.进入到nginx 解压目录 cd nginx-1.14.0/
  • 4.对nginx进行配置 sudo ./configure --prefix=/usr/local/nginx //这种配置暂不支持https协议ssl配置,支持的将在后面说到 ./configure详细说明请参考:http://nginx.org/en/docs/configure.html
  • 5.进行编译 执行make命令 sudo make;
  • 6.进行安装 sudo make install

nginx 安装路径默认为:/usr/local/nginx

nginx 常用命令:
nginx 启动命令: ./sbin/nginx -c ./conf/nginx.conf //指定配置文件启动命令
nginx 重启命令: ./sbin/nginx -s reload -c ./conf/nginx.conf //指定配置文件重启

四、安装Redis

  • 1、去官网下载redis安装包上传到自己服务器上,或执行 wget http://download.redis.io/releases/redis-4.0.9.tar.gz
  • 2、进入Redis解压目录,进行编译: 执行sudo make //这个过程其实需要gcc环境,在安装nginx时,已经安装过
  • 3、安装:执行 sudo make install
  • 4.Redis 安装路径:/usr/local/bin

一些配置:
这个时候进入redis的安装目录 执行./redis-server 启动redis 服务端,通过客户端连接(./redis-client)是不需要密码的!
下面配置需要密码的方式。
进入redis的解压目录:将redis.conf文件拷贝一份,放到任意目录下,然后编辑,找的有关password的说明,加入如下配置:
requirepass password
然后保存退出!再次启动服务端,这次加上了redis.conf配置文件
./redis-server /my/redis.conf
客户端启动:
./redis-client -a pasword //password 为刚才的密码

五、安装Tomcat

这个安装比较简单:
去官网下载tomcat上传到服务器上,或执行 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz
然后执行解压命令:
tar -zxvf ./apache-tomcat-8.5.30.tar.gz -C ./
接下来将war包放入webapp目录下,进入bin目录下 执行./startup.sh 启动tomcat

这时访问我们的项目是需要输入项目名的,如果是8080端口启动,并且还要指定端口,那么如何输入域名直接访问呢?
接下来先配置Tomcat,访问的时候不用输入项目名

  • 1.打开tomcat的配置文件 server.conf文件,找到Host节点,加入如下内容
    // 例如 "/home/ubuntu/app/apache-tomcat-8.5.30/webapps/wechat_bussiness/" ---->也就是配置虚拟目录
    同时将Host节点的appBase改为 appBase="",不然项目可能会被加载两次。
  • 2.重启Tomcat

    六、配置Nginx

    接下来解决8080端口问题,浏览器http请求默认是80端口,Nginx启动后默认正好是监听80端口。所以我们可以利用Nginx做请求转发,将80请求转到8080。而且由于Tocmcat处理静态资源的能力比较弱,我们又可以利用Nginx做动静分离,也就是将静态资源请求不经过Tomcat,而直接访问到文件,当然Nginx的作用可远不止这些哦!
    以下是Nginx配置,打开nginx配置文件 nginx.conf
  server {
   listen  80     ; 监听端口
   server_name  域名;
   
  location / {
       root   html;
       index  index.html index.htm;
       proxy_pass http://localhost:8080/;
   }
  
     location ^~ /static/ {

       root  /home/ubuntu/app/apache-tomcat-8.5.30/webapps/项目名/;#静态资源文件路径

      expires 30d; 
    }
    
通过这样简单的配置,就可以直接通过域名访问了,接下来是Nginx对Https的支持

以上是关于记一次腾讯云部署项目过程的主要内容,如果未能解决你的问题,请参考以下文章

记一次项目部署中遇到的问题

记一次后端性能测试与调试

记一次后端性能测试与调试

记一次linux服务部署

记一次腾讯云MySQL数据库数据回滚

记一次vue2项目部署nginx静态文件404解决过程