小工具知识网

当前位置: 首页 > 行业知识 > 【web】云导航项目部署及环境搭建(复杂)

行业知识

【web】云导航项目部署及环境搭建(复杂)

2026-10-30 15:49:43 来源:互联网转载

���示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、项目介绍
    • 1.1项目环境架构LNMP
    • 1.2项目代码说明
    • 二、项目环境搭建
      • 2.1 Nginx安装
      • 2.2 php安装
      • 2.3 nginx配置和php配置
        • 2.3.1 修改nginx文件
        • 2.3.2 修改vim /etc/php-fpm.d/www.conf文件
        • 2.3.3 修改 vim /etc/php.ini
        • 2.4 测试是否正常
        • 三、部署项目和测试
        • 四、代码部署故障-php执行出错(问题解决)
        • 五、总结

          前言

          日常需要访问很多链接,都需要保存到收藏夹,比较麻烦,使用浏览器账户登录,需要每台电脑都登陆账号,比较麻烦,就做了一个云导航项目,部署到自己购买的阿里云服务器,无论在哪台电脑都可打开登录,访问自己收藏的网址。


          一、项目介绍

          1.1项目环境架构LNMP

          架构:Nginx + PHP(php-fpm) + xml

          用不到mysql,就不进行安装了。

          1.2项目代码说明

          运用的技术:js+ajax(xhr请求)(查)+php(增删改)(PHP SimpleXML解析xml)

          二、项目环境搭建

          VMware版本:VMware16 Pro 16.1.2 build-17966106

          linux操作系统版本:统信UOS Server 20 1060a

          2.1 Nginx安装

          安装Nginx软件的方式有很多种,分为如下几种

          1.源码编译=>Nginx (1.版本随意 2.安装复杂 3.升级繁琐)

          2.epel仓库=>Nginx (1.版本较低 2.安装简单 3.配置不易读)

          3.官方仓库=>Nginx (1.版本较新 2.安装简单 3.配置易读,强烈推荐)

          yum标准安装操作请参考https://www.cnblogs.com/caijiuge/p/16702656.html

          安装依赖:yum install -y gcc gcc-c++ autoconf pcre pcre-devel make automake httpd-tools yum-utilsyum方式安装命令:yum install nginx  
          启动命令:systemctl start nginx重启命令:systemctl restart nginx停止命令:systemctl start nginx查看状态命令:systemctl status nginx开机启动命令:systemctl enable nginx]

          防火墙设置:打开端口

          注:源码编译安装,一般会创建一个nginx用户,1.创建用户:useradd -M -s /sbin/nologin nginx [-M : 不创建主目录 -s : 不允许登录 -g :加入用户组]

          浏览器访问测试:出现这个界面说明安装成功。

          2.2 php安装

          使用php-fpm,php中的mod_php模式和mode_fastcgi和php-fpm模式,php-fpm是fastcgi模式的管理器。

          nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。 nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回.

          PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到. PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

          新版PHP已经集成php-fpm了,不再是第三方的包了,推荐使用。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM,其它参数都是配置php的,PHP在 5.3.3 之后已经讲php-fpm写入php源码核心了。

          编译安装半天,失败了, 最后直接yum方式安装。

          #新版php-fpm安装(推荐安装方式)$ mkdir /usr/local/php$ wget https://www.php.net/distributions/php-8.3.3.tar.gz$ tar -zxvf php-8.3.3.tar.gz$ cd php-8.3.3$ ./configure --prefix=/usr/local/php --enable-fpm --with-openssl $ make $ make install
          yum -y install phpyum -y install php-fpm

          安装结果:

          启动命令:systemctl start php-fpm

          重启:systemctl restart php-fpm

          停止命令:systemctl stop php-fpm

          查看状态命令:systemctl status php-fpm

          开机自启命令:systemctl enable php-fpm

          php和php-fpm的配置文件位置:

          2.3 nginx配置和php配置

          Nginx和PHP-FPM的进程间通信有两种方式,一种是TCP,一种是UNIX Domain Socket.

          其中TCP是IP加端口,可以跨服务器.而UNIX Domain

          Socket不经过网络,只能用于Nginx跟PHP-FPM都在同一服务器的场景.用哪种取决于你的PHP-FPM配置:

          方式1:vim /etc/php-fpm.d/www.conf 和vim /etc/nginx/nginx.conf

          php-fpm.conf: listen = 127.0.0.1:9000

          nginx.conf: fastcgi_pass 127.0.0.1:9000;

          方式2:

          php-fpm.conf: listen = /tmp/php-fpm.sock

          nginx.conf: fastcgi_pass unix:/tmp/php-fpm.sock;

          其中php-fpm.sock是一个文件,由php-fpm生成,类型是srw-rw----.

          选用方式1;主进程php-fpm主要是管理fastcgi子进程,监听9000端口。 fastcgi子进程等待来自Web Server的连接。Nginx通过location指令,将所有以php为后缀的文件都交给127.0.0.1:9000来处理,即Nginx通过location指令,将所有以php为后缀的文件都交给127.0.0.1:9000来处理。

          2.3.1 修改nginx文件

          Nginx配置运行php: 编辑/etc/nginx/nginx.conf加入如下语句:

           server {              listen 80;          server_name www.xxx.com;            location / {                 root /usr/local/Testphp/;              index  index.html index.htm index.php;      }           location ~\.php$ {                 root /usr/local/Testphp;                fastcgi_pass 127.0.0.1:9000;指定了fastcgi进程侦听的端口,nginx就是通过这里与php交互的            #fastcgi_pass unix:/run/php-fpm/www.sock;fastcgi_index index.php;  # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;   fastcgi_param SCRIPT_FILENAME /usr/local/Testphp$fastcgi_script_name;     include fastcgi_params;         }    }

          2.3.2 修改vim /etc/php-fpm.d/www.conf文件

          ;listen = /run/php-fpm/www.socklisten = 127.0.0.1:9000

          2.3.3 修改 vim /etc/php.ini

          #在最后一行extension=mbstring.soextension=php_gd2.dll:wq!#保存退出即可#重启php-fpm服务systemctl restart php-fpm

          2.4 测试是否正常

          创建index.php文件放入项目目录,php测试代码内容

           

          出现此界面,代表配置成功了。

          三、部署项目和测试

          将项目就放入上面配置好的目录中即可 /usr/local/Testphp/注意

          注:适合windows系统的项目不一定在linux 完全运行,由于代码 路径 // \ ,不一样,需要注意。

          四、代码部署故障-php执行出错(问题解决)

          问题: 云导航 代码部署到linux系统后,(addlink.php dellink.php uplink.php)总是执行错误

          原因: PHP环境的问题。安装的php ,脚本中用到了simplexml解析xml文件或字符串,simpexml可能有问题,simplexml_load_file(“$nxml2”) 无法执行,所以报错。具体原因暂未找到这个,所有不管了。

          解决办法: 直接重新安装下 yum install php-xml php-xmlrpc ,即可解决。

          安装结果:

          ----20240224 解决

          ----还是要看报错信息

          ----什么都是对的, 找了半天问题

          五、总结

          遇到问题的处理思路:

          如果是项目问题,着手点:代码用了哪些环境,哪些依赖包, 是否都已经具备?

          查看断点执行情况、查看日志情况,需要故障线索。


          笔记记录日期:2020年04月03日

上一篇:轻松下载Steep攻略,一步步教你轻松获取游戏!

下一篇:x250主机怎么样