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

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

文章目录

  • 前言
  • 一、项目介绍
    • 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 测试是否正常
  • 三、部署项目和测试


前言

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


一、项目介绍

1.1项目环境架构LNMP

架构:Nginx + PHP(php-fpm) + xml
用不到mysql,就不进行安装了。
在这里插入图片描述

1.2项目代码说明

运用的技术:js+ajax(xhr请求)(查)+php(增删改)
在这里插入图片描述

二、项目环境搭建

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-utils
yum方式安装命令: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 php
yum -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.sock
listen = 127.0.0.1:9000

在这里插入图片描述

2.3.3 修改 vim /etc/php.ini

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

2.4 测试是否正常

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

<?php
echo phpinfo();
?>

出现此界面,代表配置成功了。
在这里插入图片描述

三、部署项目和测试

将项目就放入上面配置好的目录中即可 /usr/local/Testphp/注意
注:适合windows系统的项目不一定在linux 完全运行,由于代码 路径 // \ ,不一样,需要注意。


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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于PostGIS的慢查询引起的空间索引提升实践

目录 前言 一、问题定位 1、前端接口定位 2、后台应用定位 3、找到问题所在 二、空间索引优化 1、数据库查询 2、创建空间索引 3、geography索引 4、再看前端响应 总结 前言 这是一个真实的案例&#xff0c;也是一个新入门的工程师很容易忽略的点。往往在设计数据库的…

vue2+element医院安全(不良)事件报告管理系统源代码

目录 安全不良事件类型 源码技术栈 医院安全&#xff08;不良&#xff09;事件报告管理系统采用无责的、自愿的填报不良事件方式&#xff0c;有效地减轻医护人员的思想压力&#xff0c;实现以事件为主要对象&#xff0c;可以自动、及时、实际地反应医院的安全、不良、近失事件…

C++之类作用域

目录 1、全局作用域 2、类作用域 2.1、设计模式之Pimpl 2.2、单例模式的自动释放 2.2.0、检测内存泄漏的工具valgrind 2.2.1、可以使用友元形式进行设计 2.2.2、内部类加静态数据成员形式 2.2.3、atexit方式进行 2.2.4、pthread_once形式 作用域可以分为类作用域、类名…

Kafka入门二——SpringBoot连接Kafka示例

实现 1.引入maven依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache…

RK3568平台开发系列讲解(Linux系统篇)SPI 客户端通信

🚀返回专栏总目录 文章目录 一、spi_transfer二、spi_message三、初始化沉淀、分享、成长,让自己和他人都能有所收获!😄 SPI I/O模型由一组队列消息组成。我们提交一个或多个struct spi_message结构时,这些结构以同步或异步方式处理完成。单个消息由一个或多个struct sp…

Less预处理器教程

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学&#xff0c;可以点心心支持一下哈 一、Less介绍 less官方文档 lesscss.org/ less中文文档 less.bootcss.com/ less是一种css预处理器&#xff0c;它扩展了css语言&#xff0c…

Linux笔记--文件与目录

ls /--查看根目录 一、介绍 1.目录结构 // 5.3 FHS (Filesystem Hierarchy Standard ) 文件层次结构标准 (标准规范每个特定的目录应该放什么 bin:全称 binary&#xff0c;含义是二进制。该目录中存储的都是一些二进制文件&#xff0c;文件都是可以被运行的。(一些最经常使…

【科研基础|课程】矩阵分析 持续更新

哈尔滨工业大学 矩阵分析 全72讲 主讲-严质彬 视频教程 文章目录 第一章 线性空间与线性映射 第一章 线性空间与线性映射 p1 域的定义&#xff1a;可以进行加减乘除四种运算的运算系统。举例&#xff1a;有理数域 Q \mathbb{Q} Q&#xff0c;实数域 R \mathbb{R} R&#xf…

vulnhub靶场之driftingblues-1

一.环境搭建 1.靶场描述 get flags difficulty: easy about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email (it should be on my profile) for troubleshooting or questions. 2.靶场下载 https://www.vulnhub.…

选择适合你的编程语言

引言 在当今瞬息万变的技术领域中&#xff0c;选择一门合适的编程语言对于个人职业发展和技术成长至关重要。每种语言都拥有独特的设计哲学、应用场景和市场需求&#xff0c;因此&#xff0c;在决定投入时间和精力去学习哪种编程语言时&#xff0c;我们需要综合分析多个因素&a…

opencascade在vs和qt下改变视图方向和设置线框模式

一.改变视图方向&#xff08;以顶部视图为例&#xff09; 1.在qt的界面代码中设置好 2.在view.h中设置好槽函数 3.在lzzcad.cpp中设置槽与信号的连接&#xff0c;并在工具栏上显示 4.在view.cpp中给出函数实现 5.给出快捷键实现方式 二.设置线框模式 同上&#xff0c;加入函数…

【Java】RestClient的使用

RestClient的使用 先导入Maven坐标&#xff0c;要和elasticsearch和kibana的版本保持一致 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.12.1<…