LINUX安装nginx详细步骤,部署web前端项目

news2024/10/6 10:29:41

1. 安装依赖包

//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2. 下载并解压安装包 

可以去https://nginx.org/download里面找最新的包,nginx-1.25.1.tar.gz及以后的,里面资源比较多,耐心寻找。nginx-开头   .tar.gz结尾的。

  1. //创建一个文件夹

  2. cd /usr/local

  3. mkdir nginx

  4. cd nginx

  5. //下载tar包

  6. wget https://nginx.org/download/nginx-1.25.1.tar.gz

  7. tar -xvf nginx-1.25.1.tar.gz

  8. ls 查看下载和解压的包

3. 安装nginx 


//进入nginx目录
cd /usr/local/nginx
//进入目录
cd nginx-1.25.1
//执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
//执行make命令
make
//执行make install命令
make install

4. 执行 

nginx -h

正常继续第5步,错误时配置环境变量 

4.1 配置nginx环境变量

vim /etc/profile 

4.2 有如下提示时选择e进入文件

 4.3 点击i进入编辑模式,在最下方添加如下代码

export NGINX_HOME=/usr/local/nginx

export PATH=$PATH:$NGINX_HOME/sbin 

4.4 点击esc
4.5 点击 shift + :
4.6 输入 wq 后点击enter确认退出
4.7 重新加载配置文件

source /etc/profile

5. 启动nginx服务 

 ​​​​​/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

6. 配置nginx.conf 

# 打开配置文件

vi /usr/local/nginx/conf/nginx.conf

将端口号改成8089(随便挑个端口),因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。

将localhost修改为你服务器的公网ip地址。

 7. 重启nginx

/usr/local/nginx/sbin/nginx -s reload

8. 查看nginx进程是否启动

ps -ef | grep nginx

9. 若想使用外部主机访问nginx,需要关闭服务器防火墙或开放nginx服务端口,端口为上一步nginx.conf的配置端口

centOS6及以前版本使用命令:

systemctl stop iptables.service

centOS7关闭防火墙命令:

systemctl stop firewalld.service

关闭防火墙会导致服务器有一定风险,所以建议是单独开放服务端口 :

开放80端口:

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

查询端口号80 是否开启:

firewall-cmd --query-port=80/tcp

重启防火墙:

firewall-cmd --reload

随后访问该ip:端口 即可看到nginx界面。


10.访问服务器ip查看(备注,由于我监听的仍是80端口,所以ip后面的端口号被省略)

 

11. 安装完成一般常用命令

进入安装目录中,

命令:

cd /usr/local/nginx/sbin

启动

./nginx

关闭

./nginx -s stop

重启

./nginx -s reload

12. 进入nginx配置文件目录

/usr/local/nginx/conf

13. 把nginx.config拷贝出来,配置相关信息,配置完成后替换掉原来的。这是我的配置 

# For more information on configuration, see:
#
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

#user nginx;
worker_processes 4;
error_log  /usr/local/nginx/logs/error.log;
pid  /usr/local/nginx/logs/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
  worker_connections 1024;
}

http {
  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
      '$status $body_bytes_sent "$http_referer" '
      '"$http_user_agent" "$http_x_forwarded_for"';

  access_log  /usr/local/nginx/logs/access.log  main;

  server_tokens off;

  sendfile      on;
  tcp_nopush      on;
  tcp_nodelay     on;
  keepalive_timeout   65;
  types_hash_max_size 2048;

  include       /usr/local/nginx/conf/mime.types;
  default_type    application/octet-stream;
  # include /etc/nginx/conf.d/*.conf;

  server {
    listen 8089;
    server_name visa;
    
    charset utf-8;

    location / {
      root /home/visa/dist/;
      try_files $uri $uri/ /index.html last;
      index  index.html;
      client_max_body_size 100m;
      
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /visa-api {
      proxy_pass http://10.110.141.25:10087/web;
      client_max_body_size 100m;
      proxy_set_header   Host      $host;
      proxy_set_header   X-Real-IP     $remote_addr;
      proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection upgrade;
      proxy_set_header Accept-Encoding gzip;
    }
  }


  server{
    listen 8088;
    server_name  172.16.15.18; #IP
    index index.php index.html index.htm;
    root /home/apps/ads-vue/dist;  #打包dist传至服务器里的路径
    charset utf-8;
    # gzip_static on;
    include mime.types;

    location / {
      root /home/apps/ads-vue/dist/; #打包dist传至服务器里的路径
      try_files $uri $uri/ /index.html last;
      index  index.html;
      client_max_body_size 100m;
    }

    location /auth {
      proxy_pass http://10.110.141.25:21000;
      client_max_body_size 100m;
      proxy_set_header   Host      $host;
      proxy_set_header   X-Real-IP     $remote_addr;
      proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection upgrade;
      proxy_set_header Accept-Encoding gzip;
    }

    location /framework {
      proxy_pass http://10.110.141.25:22000;
      client_max_body_size 100m;
      proxy_set_header   Host      $host;
      proxy_set_header   X-Real-IP     $remote_addr;
      proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection upgrade;
      proxy_set_header Accept-Encoding gzip;
    }

    location /ads {
      proxy_pass http://10.110.141.25:23000;
      client_max_body_size 100m;
      proxy_set_header   Host      $host;
      proxy_set_header   X-Real-IP     $remote_addr;
      proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection upgrade;
      proxy_set_header Accept-Encoding gzip;
    }

    location /producer {
        proxy_pass http://10.110.141.25:20090;
        client_max_body_size 100m;
        proxy_set_header   Host      $host;
        proxy_set_header   X-Real-IP     $remote_addr;
        proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection upgrade;
        proxy_set_header Accept-Encoding gzip;
      }
    }
}
 

14. 把打包好的dist目录拷贝到相应的文件目录就可以了 

如果有问题可以在第一次配置时重启nginx,以后就直接替换dist目录文件即可

/usr/local/nginx/sbin/nginx -s reload

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/744237.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

飞行动力学 - 第7节-起飞性能 之 基础点摘要

飞行动力学 - 第7节-起飞性能 之 基础点摘要 1. 气动特性2. 起飞性能3. 性能指标3.1 地面滑跑阶段3.2 起飞滑跑距离估算 4. 跑道4.1 编号4.2 等级 5. 参考资料 1. 气动特性 起飞不仅需要考虑升力,还需要在有限跑道长度上加速,因此襟翼放出的角度不能太大…

Claude 2正式上线;Prompt在手,天下我有

🦉 AI新闻 🚀 Claude 2正式上线,AI能力全面提升 摘要:Claude 2正式上线!作为ChatGPT的强力挑战者,Claude 2的到来绝对是一个重磅事件。Claude 2性能更强,响应更快,并正式推出了网页…

MPI转以太网模块西门子200以太网通讯设置

你有没有想过,微生物发酵行业的生产控制可以如此先进?今天我们要介绍的是一项关于MPI转以太网模块在发酵集散控制系统中的应用。 这个系统由上位机和下位机组成,可以实现工程师站和操作员站之间的无缝连接,同时还可以实现远程工作…

微信小程序之网络数据请求 wx:request的简单使用

网络数据请求 1. 网络数据请求 wx:request2. 请求格式3. 关闭request的合法检验 1. 网络数据请求 wx:request 出于安全性方面的考虑,小程序官方对数据接口的请求做出了两个限制:只能请求 HTTPS 类型的接口必须将接口的域名添加到信任列表中. 在自己的微…

数智化转型下,财务共享各类RPA建设如何避坑?

企业数智化转型时代的热词——RPA是业务流程优化的利器之一。但对于部分非IT人士对RPA在企业管理领域的运用优势及实施注意点还不太了解,今天与大家快速科普一下。 RPA全称为Robotic Process Automation, 即机器人流程自动化,是一种能够在计算机/手机等…

【C++】 Qt-线程挂起、恢复和退出

文章目录 线程挂起和恢复内核对象线程退出 线程挂起和恢复 我们给设置线程的函数创建一个线程句柄用来接收返回值,并且将状态改为挂起状态 然后在循环中当第五秒时恢复线程,第八秒时连续挂起两次线程,并且返回输出挂起计数器的值&#xff08…

【C++ OJ练习】7.字符串相加

1.题目链接 力扣 2.解题思路 拿到每个字符后 减去字符0 转化成对应的数字 再相加即可 倒着加 因为有进位的情况 最后头插或 者尾插加逆置 3.代码 class Solution { public:string addStrings(string num1, string num2) {//倒着往回加int end1 num1.size() - 1;int end2…

走进Vue2飞入Vue3

✅作者简介:大家好,我是Cisyam,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Cisyam-Shark的博客 💞当前专栏: 前端相关 ✨特色专栏&…

C语言中的宏

宏定义又称为宏替换,简称“宏”,在C语言预处理阶段被处理,编译器会根据宏定义进行文本替换。这样做的好处有许多,它可以为程序员在编程时提供方便,并能在一定程度上提高程序的运行效率。 本文将通过一部分场景&#xf…

原码、反码和补码之间的转换

(꒪ꇴ꒪(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误…

DataEase中点数据集,报Data source connection exception: Access denied for user错误

【现象】&#xff1a; 2023-07-12 10:53:19,436 DEBUG .DeEngineMapper.selectByExampleWithBLOBs: 137 - < Total: 1 java.sql.SQLException: Access denied for user ****** (using password: YES)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965…

MySQL基础篇第8章(聚合函数)

文章目录 1、聚合函数介绍1.1 AVG和SUM函数1.2 MIN和MAX函数1.3 COUNT函数 2、GROUP BY2.1 基本使用2.2 使用多个分组2.3 GROUP BY中使用WITH ROLLUP 3、HAVING3.1 基本使用3.2 WHERE和HAVING的对比 4、SELECT的执行过程4.1 查询的结构4.2 SELECT执行顺序4.3 SQL的执行原理 1、…

【MQ】Windows上RabbitMQ的安装与启动

文章目录 下载Erlang安装RabbitMQ 下载Erlang RabbitMQ基于Erlang语言&#xff0c;因此使用RabbitMQ之前需要先安装Erlang&#xff0c;如下 Erlang语言下载 这里我是用的是25.2.2这个版本&#xff0c;我的机器是64bit的&#xff0c;所以下win64的即可。 下载完毕安装包之后点…

Wholebody 3D keypoint估计:从H3WB开始

目录 前言一、&#xff28;&#xff13;&#xff37;&#xff22;1.下载2.标注格式3.任务分析验证评估 总结 前言 这份工作是首次尝试去检测&#xff13;D全人体姿态的工作&#xff0e;我们使用的数据集是基于Human3.6M的&#xff13;&#xff24;全人体关键点数据集&#xff…

【宝塔】宝塔部署ThinkPHP项目

最近搞了个培训教育的小程序&#xff0c;后端服务用的是ThinkPHP。使用的过程中&#xff0c;发现对于这种小项目用php还是很不错的选择&#xff0c;开发便捷&#xff0c;轻量级。宝塔神器也是很不错的&#xff0c;值得推荐使用。 下面介绍一下项目中用宝塔部署ThinkPHP项目&…

USB枚举过程详解

1 USB枚举流程 1.1 USB枚举流程 USB SETUP command的状态阶段的状态包是个ZLP。 Anchor chips -> Netchip -> PLX -> Avago -> Broadcom The USB3380 is EOL and the kits that were by Taiwan Bplus. PLX USB3380设备控制器使用2个32bit寄存器存放setup的8个字节&…

数据库-表的增删改查

这里写目录标题 新增&#xff08;Create&#xff09;查询条件查询运算符逻辑运算符分页查询 修改&#xff08;Update&#xff09;删除&#xff08;Delete&#xff09; 注释&#xff1a;在SQL中可以使用“–空格描述”来表示注释说明 新增&#xff08;Create&#xff09; 语法…

spark3新特性之动态分区裁剪

Spark3.0为我们带来了许多令人期待的特性。Spark中的静态分区裁剪在介绍动态分区裁剪之前&#xff0c;有必要对Spark中的静态分区裁剪进行介绍。因此&#xff0c;在这种情况下&#xff0c;我们不能再应用静态分区裁剪&#xff0c;因为filter条件在join表的一侧&#xff0c;而对…

【小米的技术分享】拯救程序员的“救命稻草”:Git回滚命令大揭秘!

大家好&#xff0c;我是小米。作为一名热爱技术的程序员&#xff0c;经常使用Git进行版本控制是我们的家常便饭。但是&#xff0c;难免会遇到一些意外&#xff0c;比如不小心提交了错误的代码或者合并了错误的分支&#xff0c;这时候就需要用到Git回滚命令了。今天&#xff0c;…

chrome谷歌浏览器书签不同步的解决办法

背景&#xff1a;多台电脑使用时&#xff0c;发现浏览器书签并没有及时同步&#xff0c;找到最终的解决办法&#xff1a; 第1步&#xff1a;chrome地址栏中输入&#xff1a; chrome://sync-internals/ 第2步&#xff1a;点击 Disable Sync (Clear Data) 点击Request Start 第3…