• 11月30日:linux服务器安装以及部署项目


    准备一个连接linux服务器的可视化工具,开始发车

    推荐使用国产:

    finalshell

    下载地址:FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本3.9.7,更新时间2022.10.26 - SSH工具 SSH客户端

     xshell:安装地址和破解教程

    xshell破解版 - 袁子弹 - 博客园

    连接linux服务器

    可视化工具连接服务器的连接配置

     连接成功

    服务器连接成功

    安装LNMP(L:linux,N:nginx,M:mysql,P:php)

     由于使用php开发,所以需要下载lnmp,官方文档有很详细的下载介绍

            LNMP一键安装地址:安装 - LNMP一键安装包

            安装成功后,lnmp的相关服务器在此目录下

    lnmp目录

     一切准备就绪后开始部署项目,这里使用fastadmin框架进行项目部署

    下载fastadmin

    fastadmin下载地址:FastAdmin源码下载,FastAdmin下载,FastAdmin补丁下载,FastAdmin更新日志 – 基于ThinkPHP和Bootstrap的极速后台开发框架

    因为在本地开发时我们使用apache服务器,在进行项目部署时需要在apache中配置虚拟主机,在linux中需要在nginx中配置虚拟主机

    查看nginx.conf文件的存储地址

     通过vim nginx.conf进入nginx配置文件

    nginx.conf中默认访问地址修改

     其中在处理中有三个重要的命令

    1、mv default/ website:如果不想删除可以使用这条命令更改文件夹名称

    2、rm -rf default:删除当前目录,不能使用rm,rm的删除条件是目录为空

    3、mkdir website:创建一个新的文件夹(目录)

    更改主机地址默认访问目录

    开始部署

    上传项目到服务器

     将之前下载好的fastadmin上传到website目录下 (也可使用上传命令 rz)

    上传项目压缩包

     上传到该目录下后,可使用ll查看目录结构,可以看到fastadmin的压缩包,需要使用unzip 压缩包名称进行解压

    配置nginx

    然后我们需要在nginx.conf中配置一台虚拟主机

    nginx.conf配置
    vhost/目录下新建虚拟主机配置

     进行如下配置,将下面的配置复制即可

    1. server
    2. {
    3. listen 80 default_server reuseport;
    4. #listen [::]:80 default_server ipv6only=on;
    5. server_name _;
    6. index index.html index.htm index.php;
    7. root /home/wwwroot/website/public;
    8. location / {
    9. index index.html index.htm index.php;
    10. if (!-e $request_filename) {
    11. rewrite ^(.*)$ /index.php?s=/$1 last;
    12. break;
    13. }
    14. }
    15. location ~ \.php(.*)$ {
    16. fastcgi_pass unix:/tmp/php-cgi.sock;
    17. fastcgi_index index.php;
    18. fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
    19. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    20. fastcgi_param PATH_INFO $fastcgi_path_info;
    21. fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
    22. fastcgi_param PHP_VALUE "open_basedir=$document_root/../:/tmp/:/proc/";
    23. include fastcgi_params;
    24. }
    25. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    26. {
    27. expires 30d;
    28. }
    29. location ~ .*\.(js|css)?$
    30. {
    31. expires 12h;
    32. }
    33. location ~ /.well-known {
    34. allow all;
    35. }
    36. access_log /home/wwwlogs/access.log;
    37. }

    重新加载nginx

    以上操作进行完成后,需要在finalshell中重新加载nginx否则修改的配置文件会没有生效

    可输入lnmp进行查看命令

    lnmp命令查询

     根据上述查询到的命令输入 lnmp nginx reload

    打开浏览器输入你的linux服务地址比如127.0.0.1,浏览器会显示出404,并且拒绝访问

    更改用户组权限

    还需要将website的用户组进行修改

    修改文件用户组

            更改权限的目录是:cd /home/wwwroot/

            更改权限命令:chown -R www:www website

    修改完权限之后,再次进行访问,当前页面会出现拒绝访问

    没有进行php.ini配置

    配置php.ini 

    因为是第一次进行部署,所以当前php配置文件中没有更改,所以需要将php.ini配置文件中的cgi.fix_pathinfo=0更改为cgi.fix_pathinfo=1

    PHP里经常要获取当前请求的URL路径信息。一般可以通过环境变量$_SERVER[‘PATH_INFO’]获取,而配置文件中的cgi.fix_pathinifo选项则与这个值的获取相关。而$_SERVER[‘PATH_INFO’]中的key PATH_INFO是一个CGI 1.1的标准,经常用来做为传递参数给后端的CGI服务器。

    vim php.ini 文件后输入:/cgi.fix进行搜索

    类似于ctrl+f的快捷查询

    配置完成后需要重启lnmp,可以输入lnmp进行查询 

    lnmp命令列表

     大功告成

    部署成功

             正常情况下会出现fastadmin安装界面

    遇到问题以及解决办法

    说说我在部署的过程中遇到的问题

    第一:aaa.conf中的重写规则代码,一定要使用此文之前提供的,否则手打的话,会出现更改完用户组,修改万php.ini信息之后不管你怎么重启都一直是这个页面

    拒绝访问

    第二:如果你选择将/home/wwwroot/default中的default目录改名的话,其中会出现.user.ini文件,需要使用ll -a命令才能查看到此文件,其中也会影响你的文件访问路径,需要使用强制命令才能进行删除

    参考:

            因为.user.ini是受保护文件,需要使用命令去除保护

            chattr -i .user.ini

            输入命令进行删除

            rm -rf .user.ini

     第三:在lnmp的安装过程中,会遇到mysql设置密码,在设置密码的过程中会出现输入错误想要删除却出现以下错误,导致后续连接mysql失败无法连接,出现以下情况,需要对密码进行修改

    推荐修改博客:lnmp重置mysql数据库root密码的两种方法_萧逸的博客-CSDN博客

    lnmp安装时出现mysql设置密码使用删除键出现字符
    mysql密码出现字符,输入密码无法验证

     重点:

    如果在项目部署根据以上操作没能解决你的错误问题,那么就需要你打开nginx_error.log报错日志,浏览器进行重新加载查看日志文件中的信息,根据信息去定位错误原因

    开启nginx_error.log报错日志

  • 相关阅读:
    注意!全国九大系列职称都已设专利要求!
    中高级Java程序员,你不得不掌握的基本功,挑战20k+
    软考70-上午题-【面向对象技术2-UML】-UML中的图1
    C# 实体类转换的两种方式
    minio安装部署及使用
    【Vue3+Vite+Ts+element-plus】 使用tsx 动态表格封装
    第六届“强网杯”全国网络安全挑战赛-青少年专项赛
    el-menu动态加载路由,菜单的解决方案
    文献 | 关于心理活动符号学,你知道多少?
    15——go语言中的流程控制
  • 原文地址:https://blog.csdn.net/qq_53457276/article/details/128117261