当前位置:

linux 安装 nginx 以和部署 vue 到服务器

访客 2024-02-04 1049 0

linux安装nginx以及部署vue到服务器

Linux环境下Nginx服务器

  1. 先查看Linux服务器下有没有安装:GCC、automake、pcre、zlib和openssl
    • 如果安装后会显示各自的版本号
    //查看opensslrpm-qaopenssl//查看zlibrpm-qazlib//查看pcrerpm-qapcre
    • 如果没有安装以上三个库,可以使用一下命令安装
    yum-yinstallgccgcc-cautomakepcrepcre-develzlibzlib-developensslopenssl-devel
  2. 下载Nginx并解压
    • 通过官网下载,http://nginx.org/en/doload.html可以选择对应的版本下载
    • 通过Linux命令下载wgethttp://nginx.org/download/nginx-1.16.1.tar.gz
    //进入opt文件cd/opt//创建nginx文件夹下载nginxwgethttp://nginx.org/download/nginx-1.16.1.tar.gz//解压文件tar-xvfnginx-1.16.1.tar.gz解压完之后,nginx下会多出一个Nginx-1.16.1包含一下文件auto:存放了大量脚本文件,和configure脚本程序有关。conf:存放了Nginx服务器的配置文件,包含了Nginx服务器的基本配置文件和对部分特性的配置文件。configure:Nginx服务器的自动脚本程序,运行configure自动脚本将会完成两项工作:1、检查环境,根据环境检查结果生成C代码;2、生成编译代码需要的makefile文件。html:存放了两个后缀名为.html的静态文件。man:存放了Nginx服务器的帮助文档,可通过mannginx进行查看。src:存放了Nginx服务器的所有源代码
  3. 安装nginx服务器
    如果安装不成功的话,可能是因为pcrezlibopenssl未安装成功导致
//opt/Nginx文件夹下创建新文件夹Nginx-1.16.1_installcd/opt/NginxmkdirNginx-1.16.1_install//进入之前解压后得到的文件夹nginx-1.16.1cdnginx-1.16.1//运行configure脚本程序,可以直接运行./configure,也可以通过--prefix=path指定nginx的安装目录./configure--prefix=/opt/Nginx/Nginx-1.16.1_install//运行完成后,该文件夹下多出一个文件---Makefile,此时执行make指令进行源代码编译,编译过程中屏幕会有编译全过程make//编译完成后,执行make的install命令安装Nginx服务器makeinstall
  • 安装完成之后会在Nginx-1.16.1_install目录下看到这几个文件
    conf:该目录存放了Nginx的所有配置文件,该文件夹下包含nginx.conf文件,它是Nginx服务器的住配置文件,其他文件则是用来配置Nginx的相关功能。

    html:该目录存放了Nginx服务器在运行过程中调用的一些html文件。

    logs:该目录存放了Nginx服务器的日志。

    sbin:该目录中只包含了一个文件-nginx,它就是Nginx服务器的主程序

  • 修改nginx.conf这个文件并启动nginx

    • 我们可以通过命令修改
    //修改nginx.conf文件中端口,如修改成81cd/opt/Nginx/Nginx-1.16.1_install/confvimnginx.//以下是要改文件下的内容server{listen80;//默认监听端口为80,可自行更改server_namelocalhost;//默认监听地址为localhost,可自行更改#charsetkoi8-r;#access_loglogs/host.access.logmain;location/{root/root/vue;//此是你vuenpmrunbuild打包后放置静态文件dist的路径indexindex.htmlindex.htm;autoindexon;//开启nginx目录浏览功能autoindex_exact_sizeoff;//文件大小从KB开始显示charsetutf-8;//显示中文//跨域配置add_header'Access-Control-Allow-Origin''*';add_headerAccess-Control-Allow-Credentialstrue;}}
    • 通过软件Xftp修改
      可以借鉴一下这个作者写的:https://blog.csdn.net/weixin_44953395/article/details/112900516
    • 启动nginx
    //在文件下/opt/Nginx/Nginx-1.16.1_install/sbin输入命令启动./nginx//访问的话,通过ip访问就行

    通过服务器IP就可以访问了

  • nginx的一些命令操作

    • 停止nginx
    //1.等nginx处理完任务停止./nginx-squit//2.先查出nginx进程id再使用kill命令强制杀掉进程-->./nginx-sstop//输入命令:查看进程号psaux|grepnginx//杀死进程:kill-termxxxx/kill-intxxxx//[root@localhost~]#kill-term进程编号//[root@localhost~]#kill-int进程编号
    • 强制停止:pkill-9nginx
    [root@localhost~]#pkill-9nginx
    • 重启nginx
    //先将nginx给停止,然后再重启./nginx-squit./nginx//如果我们需要重新加载配置文件,对nginx.conf修改后,要想让配置生效需要重启nginx,使用-sreload不用先停止nginx就可以再启动nginx即可将配置信息在nginx中生效./nginx-sreload
  • nginx代理vue

    nginx代理vue

    • vue打包后,因为开发环境设置代理proxy的原因,使得访问打包页面请求不同ip数据时出现了跨域问题。
    • nginx代理vue的意义:在于把开发环境中的代理proxy:{‘/api’:…的/api,换成生产环境中的地址即在服务器里面nginx的代理
    ///api/为vue中代理的值;//proxy_pass需要代理的ip地址location/api/{rewrite^.api/?(.*)$/$1break;//重定向proxy_redirectoff;proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;#可省略结束#必填proxy_passhttp://192.168.1.10:8888/;#nodeapiserver即需要代理的IP地址}
  • 遇到问题:Nginx403forbidden错误的原因及解决方法

    产生原因:由于启动用户和nginx的工作用户不一致所致

    1. 确认原因:

      • 查看启动的用户是:nginx/root启动
      //输入命令:查看进程号psaux|grepnginx

      如下图所示

      • 修复问题:可以在文件内改,也可以通过命令修改vimetc/nginx.conf
        修改地方:
      #usernobody;//将usernobody改为userrootworker_processes1;
      • 注意:如果这里文件有问题也会报403
      server{listen80;server_namelocalhost;#charsetkoi8-r;#access_loglogs/host.access.logmain;location/{roothtml;indexindex.htmlindex.htm;}}

    发表评论

    • 评论列表
    还没有人评论,快来抢沙发吧~