lnmp环境部署-im

安装nginx

配置nginx源
vim /etc/yum.repos.d/nginx.repo

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

安装nginx

yum install nginx

启动nginx

systemctl start php-fpm.service

安装php环境

配置php源

yum install epel-release
yum install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm

安装php

yum --enablerepo=remi-php73 install php php-cli php-common php-devel php-embedded php-gd php-mbstring php-pdo php-xml php-fpm php-mysqlnd php-opcache php-mcrypt php-pear php-pecl-memcached php-pecl-mongodb php-pecl-redis

修改php配置文件
修改user和group为nginx,与nginx服务用户相同

egrep -v ";|^$" /etc/php-fpm.d/www.conf 
[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache

检查语法

php-fpm -t

启动php-fpm

systemctl start php-fpm.service

nginx整合php

nginx配置文件

vim /etc/nginx/conf.d/php.conf

server {listen       80;server_name  localhost;location / {root   /im;index  index.php index.html index.htm;}location ~ \.php$ {root /im;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}}

php测试页面

mkdir /im

vim index.php

<?php
phpinfo();
?>

访问php页面
在这里插入图片描述

composer安装

composer是PHP依赖管理工具,需要PHP 5.3.2或更高版本,运行php -v来检查已安装的PHP版本

安装composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/bin/composer
composer --version

配置国内镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

更新Composer

composer self-update

安装MySQL

https://blog.csdn.net/wuxingge/article/details/100774308

安装redis

安装redis

wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar xf redis-5.0.7.tar.gz -C /opt/
cd /opt
ln -s redis-5.0.7 redis
cd redis
make
make install

配置redis

cp redis.conf /etc/

修改配置文件 /etc/redis.conf

daemonize yes
bind 127.0.0.1 192.168.0.30 #本机IP
protected-mode no
dir /opt/redis

管理文件
vim /etc/systemd/system/redis.service

[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target

启动

systemctl start redis.service

php后端服务部署

git clone https://gitee.com/raingad/im-instant-chat.git
#进入项目目录,执行:
composer install#启动
php start.php start #调试时使用
php start.php start -d

前端部署

node部署参考
https://blog.csdn.net/wuxingge/article/details/134859856

git clone https://gitee.com/raingad/im-chat-front.git

进入项目目录,执行

npm install

修改服务端域名
修改项目根目录下的 .env.development 文件,将VUE_APP_BASE_API的值改为自己的后端域名,构建后放服务端在运行时直接获取服务端的域名

构建

npm run build

将打包好的文件(dist目录)里面的所有文件覆盖到后端的public目录下即可

nginx配置文件
vim php.conf

server {listen       80;server_name  localhost;location / {root   /im/im-instant-chat/public;if (!-e $request_filename){rewrite  ^(.*)$  /index.php?s=$1  last;   break;}}location /wss {proxy_pass http://127.0.0.1:8282;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_set_header X-Real-IP $remote_addr;}}

最后访问页面有问题

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

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

相关文章

宽带波束形成

上一篇介绍了窄带波束形成&#xff0c;当信号的带宽增加&#xff0c;窄带波束形成的性能会降低很多。 首先从窄带beamforming说起 阵列模式&#xff1a;M个阵元组成的线性阵列 当有个输入信号&#xff0c;&#xff0c;对应的信号的入射方向为&#xff0c;。第一个信号是感兴…

break和continue区别及使用

break和continue是跳转控制语句&#xff0c;本篇文章将详细说明这两个的概念及作用。 1、continue 这张图是2024年3月的日期图&#xff0c;列出了每日和每周。 假设上面是上班工作日期&#xff0c;一个月有三十天&#xff0c;但是每周只有七天。简单思考一下&#xff0c;每周的…

el-select下拉框无法显示 elementplus踩坑日常

在使用el-select的时候参考了官方文档&#xff0c;但下拉框无法显示 解决办法1&#xff1a;检查是否没有按需引入eloption只引入了elselect 解决办法2&#xff1a;在el-select里面加入:popper-append-to-body"false" <el-select:popper-append-to-body"fa…

Mybatis八股

Mybatis是什么 Mybatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;加载驱动、创建连接、创建statement等繁杂的过程&#xff0c;开发者开发时只需要关注如何编写SQL语句&#xff0c;可以严格控制sql执行性能&#xff0c;灵…

运行springboot项目提示:java: 错误: 不支持发行版本 18、java: 错误: 无效的源发行版:18

java: 错误: 不支持发行版本 18 解决方法&#xff1a;修改字节码版本&#xff0c;可以多试几次。 java: 错误: 无效的源发行版&#xff1a;18 解决方法&#xff1a; 出现这些错误原因&#xff1a; spring版本与jdk版本不对应 我的spring boot版本是3.2.2&#xff0c;对应的j…

实体店新模式:线下正规实体门店的转型与升级策略

在当今竞争激烈的市场环境下&#xff0c;线下正规实体门店需要不断转型与升级&#xff0c;以适应消费者的需求和市场的变化。 作为一名开鲜奶吧5年的创业者&#xff0c;我见证了无数实体店的成功与失败&#xff0c;下面的文章我将通过具体案例&#xff0c;为大家分享一些实用的…

YOLOv9如何训练自己的数据集(NEU-DET为案列)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文内容&#xff1a;教会你用自己数据集训练YOLOv9模型 YOLOv9魔术师专栏 ☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️ ☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️ 包含注意力机制魔…

MyBatis拦截器四种类型和自定义拦截器的使用流程

文章目录 MyBatis拦截器四种类型和自定义拦截器的使用流程一、MyBatis拦截器四种类型的详细解释&#xff1a;1. **ParameterHandler 拦截器**&#xff1a;2. **ResultSetHandler 拦截器**&#xff1a;3. **StatementHandler 拦截器**&#xff1a;4. **Interceptor Chain 拦截器…

题目 2610: 第十二届省赛真题-杨辉三角形

题目描述: 下面的图形是著名的杨辉三角形&#xff1a; 如果我们按从上到下、从左到右的顺序把所有数排成一列&#xff0c;可以得到如下 数列&#xff1a; 1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4, 1, ... 给定一个正整数 N&#xff0c;请你输出数列中第一次出现 N 是在第几…

前端实现 查询包含分页 以及封装table表格 上手即用!

表格组件是 element plus 中的table 又经过了一层封装 封装的table代码在最底下 <div class"box2"><el-radio-group v-model"radio" style"margin-bottom: 16px"><el-radio-button label"1">类型1</el-radio…

论文学习——基于枢轴点预测和多样性策略混合的动态多目标优化

论文题目&#xff1a;A dynamic multi-objective optimization based on a hybrid of pivot points prediction and diversity strategies 基于枢轴点预测和多样性策略混合的动态多目标优化&#xff08;Jinhua Zheng a,b,d, Fei Zhou a,b,∗, Juan Zou a,b, Shengxiang Yang a…

java集合框架——Collection集合概述

前言 之前学过ArrayList&#xff0c;现在接触到更多集合了。整理下笔记&#xff0c;打好基础&#xff0c;daydayup! 集合体系结构 集合分为单列结合和双列结合&#xff0c;Collection代表单列集合&#xff0c;每个元素只包含一个值。Map代表双列集合&#xff0c;每个元素包含两…

HCIP —— BGP 的社团属性

目录 BGP 的社团属性 1.0X00000000 --- internet 2.0XFFFFFF02 --- no - advertise 3.0XFFFFFF01 --- no - export 4.0XFFFFFF03 --- no-export-subconfed 配置&#xff1a; 第一步&#xff1a;使用路由策略执行对流量打上社团属性 第二步&#xff1a;在对等体通告路由之…

智慧城市与绿色出行:共同迈向低碳未来

随着城市化进程的加速&#xff0c;交通拥堵、空气污染、能源消耗等问题日益凸显&#xff0c;智慧城市与绿色出行成为了解决这些问题的关键途径。智慧城市利用信息技术手段&#xff0c;实现城市各领域的智能化管理和服务&#xff0c;而绿色出行则强调低碳、环保的出行方式&#…

1.Python是什么?——《跟老吕学Python编程》

1.Python是什么&#xff1f;——《跟老吕学Python编程》 Python是一种什么样的语言&#xff1f;Python的优点Python的缺点 Python发展历史Python的起源Python版本发展史 Python的价值学Python可以做什么职业&#xff1f;Python可以做什么应用&#xff1f; Python是一种什么样的…

第十五届蓝桥杯(Web 应用开发)模拟赛 3 期-大学组(被题目描述坑惨了)

目录 1.创意广告牌 2.原子化css 3.神秘咒语 4.朋友圈 5.美食蛋白揭秘 6.营业状态变更 7.小说阅读器 8.冰岛人 9.这是一个”浏览器“ 10.趣味加密解密 总结 1.创意广告牌 这个题目不多说了&#xff0c;只要知道这些css应该都能写出来&#xff0c;不会的平时多查查文…

C++第三弹---C++入门(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 C入门 1、内联函数 1.1、概念 1.2、特性 2、auto关键字(C11) 2.1、类型别名思考 2.2、auto简介 2.3、auto的使用细则 2.3、auto不能推导的场景 …

探索Linux世界:基本指令(文件查看、时间相关、grep、打包压缩及相关知识)

今天继续介绍一些指令 文章目录 1.cat - 查看文件1.1输出重定向和追加重定向1.2指令echo 2.more 指令3.less - 逐页查看文本文件内容4.head- 显示文件开头部分内容5.tail - 显示文件末尾部分内容5.1输入重定向&#xff08;<&#xff09;5.2管道&#xff08;|&#xff09; 6.…

镭速教你如何解决大数据量串行处理的问题

大数据的高效处理成为企业发展的关键。然而&#xff0c;大数据量串行处理的问题常常困扰着许多企业&#xff0c;尤其是在数据传输方面。本文将探讨大数据量串行处理的常见问题&#xff0c;并介绍企业常用的处理方式&#xff0c;最后重点阐述镭速如何提供创新解决方案&#xff0…

吴恩达机器学习-未分级实验:过拟合(Overfitting)

解决过拟合 选择更多的数据选择特征&#xff08;特征选择&#xff09;减小参数大小&#xff08;归一化&#xff09; 目标 在本实验中&#xff0c;您将探索: 可能发生过拟合的情况一些解决方案 %matplotlib widget import matplotlib.pyplot as plt from ipywidgets import …