Linux搭建服务器Node+Nginx+Tomcat+Redis Ubuntu篇

    一、项目背景

       项目背景,现在开发的项目,需要搭建一个Linux环境,方便远端的测试人员访问项目。项目采用的是前后端分离,前端使用Node.js+React+webpack,在部署时,只需要使用webpack打包生成静态文件,就能实现前端的访问。如何实现,下面的不走会一步步介绍,后端时候的是Java开发的后台逻辑,使用Gradle将项目打成war包,部署在服务器上,至于数据库,数据库没有放在服务器上,直接在后台对数据库连接做了连接的处理。

  二、安装环境

    此次环境需要安装的有Node.js(前端环境)、Nginx(反向代理服务器)、Tomcat(后端war包部署环境)、Redis(Nosql缓存)。

       2.1 安装Node.js

      命令:sudo apt-get install nodejs

       2.2安装npm

      sudo apt-get install npm

     安装完成后可以通过命令查看相应的版本,检查是否安装成功。

 

    2.3 安装Nginx

    直接使用apt仓库安装, sudo apt-get install nginx

    安装完成后查看各文件安装位置,


     /usr/sbin/nginx:主程序

     /etc/nginx:存放配置文件

    /usr/share/nginx:存放静态文件

    2.4 安装 Redis

     通过命令行安装:sudo apt-get install redis-server


安装完成后,直接通过redis-cli查看,使用ping看是否安装成功!

   2.5 Tomcat 安装 

   这里通过官网下载相应的压缩包(下载地址


传到Linux系统指定文件夹下,解压到指定文件夹。

解压命令:  sudo tar -zxvf apache-tomcat-8.5.30.tar.gz 


这里我先做了解压,最后在移动到/usr/local路径下新建的tomcat文件夹下

三 、 配置

      首先是Node.js,无需配置,node只提供一环境,毕竟不在服务器上开发,Redis也无需配置,只使用了本地的缓存,配置都在后端写好了。这里我们需要配置的是Nginx,Tomcat。

    3.1 配置Tomcat

    使用Nginx主要是通过前端的静态资源,当需要请求后端的服务时,需要通过Nginx反向代理到后端的服务(这里使用的是tomcat)。这里我们到tomcat的安装目录,在bin文件下,找到startup.bat文件以管理身份打开。   


在配置文件末尾加上:

#set java environment


JAVA_HOME=/usr/local/java/jdk1.8.0_171     //本机jdk安装地址


CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


PATH=$JAVA_HOEM/bin:$PATH


export JAVA_HOME  CLASS_PATH  PATH



修改端口

根据项目需要,修改tomcat请求端口,我这里使用的还是默认的8080,

打开server.xml文件,文件在安装目录conf下


端口号:


* 拓展 增加用户功能,方便以后项目多的话,方便管理。

增加用户在安装目录下的conf文件夹下的tomcat-user.xml文件下,同样的方式打开


打开文件后在文件的最后加上:

<role rolename="manager-gui"/> 
<role rolename="admin-gui"/> 
<user username="admin" password="admin" roles="manager-gui,admin-gui"/>   //用户,密码


配置完成后,启动tomcat,在bin文件夹下,使用sudo sh startup.sh启动


输入地址加载出tomcat欢迎页安装成功!



  3.2 配置Nginx

    前面也有说到Nginx的各文件夹地址:

       /usr/sbin/nginx:主程序

        /etc/nginx:存放配置文件

        /usr/share/nginx:存放静态文件

配置文件放在/etc/nginx文件夹下。进入/nginx 配置文件夹,发现有很多配置文件,我们需要配置的是nginx.conf

使用vim,或者如果是装了其他的编辑器,可以直接通过编辑器打开修改。


编辑命名,我直接使用gedit打开。


http {

	##
	# Basic Settings
	##
        server {
        listen          8000;        //前端代理端口             
        server_name     localhost;   //IP

        location / {
            root            /home/jerry/Desktop/app/dist;  //前端资源入口文件
            index       index.html index.htm;             //入口文件
            try_files $uri $uri/ /index.html;             
        }

        location /tool {
	    proxy_pass	http://localhost:8080;      //后端服务代理
		}

        }

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	# server_tokens off;

}

多余的不用看,我们只需要配置server{}部分。修改完成后保存。

通过/usr/sbin 文件夹下    ./nginx -t 检查配置是够有问题。


启动Nginx    还是在/usr/sbin 文件夹下    通过命令 ./nginx -s start  启动

通过localhost:80,查看是够启动成功。 


四、部署项目

      4.1前端项目

        通过webpack打包成静态文件,我是这里直接在桌面上建了app文件夹,将前端文件传入到app文件夹下,这里可以再回去看一下nginx配置文件,location下的root,就是静态文件存放的地址。当然这里肯定是先传静态文件,再配置nginx。

  root            /home/jerry/Desktop/app/dist;  //前端资源入口文件


     4.2 后端部署

将后端的java文件,打包成war包,上传至tomcat安装目录的webapp目录下,这里我将其解压,重命名为tool,


部署完成后,我们可以试着去登录tomcat管理一下项目,


确保后端启动完成后,我们直接在浏览器访问,前端的项目入口,这里是8000端口,为什么是8000,这里就是刚才在nginx中配置的listen监听的端口号。

 listen          8000;        //前端代理端口      

浏览器打开测试:成功登录,通过前端请求,访问后端代理服务。


这里还有一点就是注意,80,8000,8080,端口被占用,或者防火墙端口禁用的问题。

这个ubutu只是我的测试环境,真是的项目是在centOS版本上跑的,我会将在centOS上部署,的流程再整理一下发出,其实基本上相同只是安装软件会麻烦一点,ubuntu方便就在于他有一个源文件库,我们可以通过命令下载,有的无需配置即可使用。这次就分享到这里,可以加下公众号方便学习,我会持续跟新,大家共同进步。



    


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值