Linux实战小技巧-Nginx反射代理服务器部署Web应用

545 阅读4分钟

作者:老九—技术大黍

社交:CSDN

公众号:老九学堂(新手有福利)

特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系笔者授权

前言

绝大部分程序员的开发环境都是Windows环境下开发,如果是单体应用开发,那么一般都是在Windows环境下编写代码、调试、UT,然后对程序项目进行整合测试...等到最后交付给客户时,我们一般需要把项目打包为一个war包(如果需要单独放到Tomcat容器中去),或者打包成一个jar包(比如Spring Boot项目是内嵌套Tomcat服务器的),不管哪种打包方式,最终结果都是需要把这些可执行文件部署到Linux服务上运行的。

Linux环境操作准备工作

要完成Nginx反射代理服务器部署Web应用的工作,我们需要使用root权限,因此建议先切换到root用户,然后输入下面的命令:

su root

然后再输入系统密码,这样保证我们当前使用权限是root权限。

接着就是准备我们的打好的war包或者是jar包文件。

Nginx简介和使用

百度上有很多,我们在这就不去累述了。简单来说,是它一个静态资源服务器,通常情况下可以将我们的html页面发布出来。网络外部客户端可以通过指定端口进行访问本地服务器的资源。

安装nginx

使用yum命令安装

默认大家都是使用Centos版本的Linux操作系统,因此在centos中可以使用yum命令安装nginx。

在当前操作用户状态输入下面的命令:

yum install nginx -y

我们在经过等待之后,如果系统没有出现异常,那么nginx服务器会安装在/usr/share/nginx路径中,然后外部网络客户端可以正常请求。

使用源码安装

我们下面给源码安装的思路,当然这是一个参考,请大家不要当成标准。

  1. 下载nginx官方源代码 ,当没有指定路径时,下载到当前路径
wget [-O 指定路径]  源码地址

示例

wget http://nginx.org/download/nginx-1.19.8.tar.gz
  1. 安装编译源码所需要的依赖
yum install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel -y
  1. 解压缩下载的源代码
tar -zxvf nginx-1.19.8.tar.gz
  1. 进入解压后的源代码目录
cd nginx-1.19.8
  1. 在linux中编译源代码

    执行配置

    ./configure
    

    执行编译操作

    make
    
  2. 使用make install 编译好的程序安装本地

make install

该命令执行之后,nginx会被安装到/usr/local/nginx路径下。

部署项目到nginx中,并运行nginx

  • nginx安装之后,可以把项目放置到nignx默认项目部署目录
  • 使用yum方式安装后,nginx的web默认目录为/usr/share/nginx/html
  • 使用源码编译方式安装后nginx的web默认目录是/usr/local/nginx/html
  • 一般将项目上传到该目中即可
  • 可以使用ftp的sftp协议访问服务器,将项目的静态页面发布到项目中即可

执行命令

systemctl start nginx

状态查看命令

systemctl status nginx

停止命令

systemctl stop nginx

注意:如果使用源码编译的方式安装,进入到/usr/local/nginx/sbin目录下,执行nginx文件运行程序即可。

修改及开放项目端口

yum方式安装的Nginx的配置文件/etc/nginx/conf.d/default.conf。源码编译方式安装nignx的配置文件在/usr/local/nginx/nginx.conf

修改需要监听的端口即可。默认端口为80端口

server{
	listen 80; // 修改为其他端口即可
	....
}

另外在linux中如果希望访问80端口,必须是root权限启动的程序,其他账户权限启动的程序是不能够访问80端口的,这一点需要注意。

通常情况下linux服务器上安装的程序可能会无法访问,因为linux防火墙默认会关闭大多数端口,以保证服务器的安全,因此需要开放端口便于程序访问。

查看所有防火墙开启的端口

firewall-cmd --zone=public --list-ports

开启端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

删除端口

firewall-cmd --zone= public --remove-port=80/tcp --permanent

重置,更新防火墙规则

firewall-cmd --reload

小结

快速的操作思路为

  1. 开启端口
  2. 重置防火墙规则
  3. 查看防火墙端口是否打开
  4. 从外部输入项目的地址,从浏览器中访问项目。

最后

记得给大黍❤️关注+点赞+收藏+评论+转发❤️

作者:老九学堂—技术大黍

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。