前段时间写了一篇PHP通过URL和WebSocket两种方法获取火币K线数据,这个项目的开发调试都在Windows平台下完成的,没在linux平台下运行过,所以今天就来从零开始在一台新的linux服务器上部署相应环境,使该项目能够正常运行。话不多说,下面开始配它。

部署环境

服务器是腾讯云的,系统CentOS7.7,1核2G。安装环境:PHP7.2 + MySQL5.7 + Nginx1.16

一、修改 yum 源

1.更新yum源

yum -y update

2.下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

3.安装mysql源

yum -y localinstall mysql57-community-release-el7-9.noarch.rpm

4.检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

5.修改PHP、Nginx安装yum源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Webtatic:https://webtatic.com
MySQL:https://dev.mysql.com/downloa…

二、安装 Nginx、MySQL、PHP

yum -y install nginx
yum -y install mysql-community-server
yum -y install php72w-devel php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-pdo.x86_64 php72w-mysqlnd php72w-fpm php72w-opcache php72w-pecl-redis

三、配置

1、配置 MySQL
启动MySQL服务

systemctl start mysqld

查看MySQL的启动状态

systemctl status mysqld

设置开机启动:

systemctl enable mysqld
systemctl daemon-reload

MySQL 安装完成之后,在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码
通过下面的方式找到root 默认密码,然后登录 MySQL 进行修改:

grep 'temporary password' /var/log/mysqld.log  # 查找默认密码

登录 MySQL,输入上述查询到的默认密码:

mysql -uroot -p

修改root 默认密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyPass1!';

或者:

set password for 'root'@'localhost'=password('123abc');

注:
MySQL5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误

详见 MySQL 官网密码策略详细说明:https://dev.mysql.com/doc/ref…

添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户

添加远程帐户(请谨慎添加

GRANT ALL PRIVILEGES ON *.* TO 'yourname'@'%' IDENTIFIED BY 'YourPassword@123' WITH GRANT OPTION;

配置默认编码为 utf8:
修改 /etc/my.cnf 配置文件,vim /etc/my.cnf,在 [mysqld] 下添加编码配置,配置完成后重启:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
systemctl restart mysqld    # 重启 MySQL


默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket 文件:/var/run/mysqld/mysqld.pid

2、配置 Nginx
安装完成以后查看自己防火墙是否开启,如果已开启,我们需要修改防火墙配置,开启 Nginx 外网端口访问。

systemctl status firewalld


如果显示 active (running),则需要调整防火墙规则的配置。

修改 /etc/firewalld/zones/public.xml文件,vim /etc/firewalld/zones/public.xml,在zone一节中增加
保存后重新加载 firewalld 服务:

<zone>...<service name="nginx"/>
<zone>
systemctl reload firewalld


修改 Nginx 配置:

vim /etc/nginx/nginx.conf

在 server {} 里添加:

location / {#定义首页索引文件的名称index index.php index.html index.htm;
}# PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ .php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include fastcgi_params;
}


配置完成重启 Nginx:

systemctl start nginx    # 启动 Nginx

注:本文只是简单配置 Nginx,具体更多配置请自行百度。

设置开机启动:

systemctl enable nginx

3、设置开机启动 php-fpm:

systemctl enable php-fpm
systemctl start php-fpm    # 启动 php-fpm

四、测试
在根目录创建www目录

cd /
mkdir -p www

修改nginx的根目录为/www

vim /etc/nginx/nginx.conf


配置完成重启 Nginx:

systemctl start nginx    # 启动 Nginx

在 /www/ 文件下创建php文件,输出 phpinfo 信息

cd /www/
vim test.php
<?php
echo phpinfo();
?>
chmod -R 777 test.php

浏览器访问 http://<外网IP地址>/test.php,如果看到 PHP信息,说明安装成功

到此,服务器上安装环境(PHP7.2 + MySQL5.7 + Nginx1.16)已全部完成,下面开始部署项目到服务器上。

部署项目

一、上传项目

1.服务器安装FTP
先确认服务器是否安装vsftpd

rpm -qa | grep vsftpd

如果没有安装,输入下面命令进行安装

yum -y install vsftpd

安装成功

修改配置文件,vim /etc/vsftpd/vsftpd.conf,禁止匿名登录

设置开机启动:

systemctl enable vsftpd

启动vsftpd服务

systemctl start vsftpd

查看vsftpd的启动状态

systemctl status vsftpd

ftp服务器已开启,21端口已有监听

配置vsftpd用户,启用root用户
修改配置文件,vim /etc/vsftpd/ftpusers,注释掉root

修改配置文件,vim /etc/vsftpd/user_list,注释掉root

重启vsftpd服务

systemctl restart vsftpd

2.上传项目文件
在 /www/ 下新建huobiwebsocket目录

cd /www/
mkdir -p huobiwebsocket
chmod -R 775 huobiwebsocket/

使用root的登录密码登录FTP(软件FileZilla),定位到/www/huobiwebsocket/,把本地huobiwebsocket项目的代码上传到服务器。
上传成功之后修改项目文件的相应属性和权限

cd /www/huobiwebsocket/
chmod -R 775 *

3.运行项目
先创建MySQL数据库huobiwebsocket,导入数据库文件/www/huobiwebsocket/huobiwebsocket.sql

mysql -u root -p
CREATE DATABASE `huobiwebsocket` CHARACTER SET utf8 COLLATE utf8_general_ci;
use huobiwebsocket
source /www/huobiwebsocket/huobiwebsocket.sql

进入/www/huobiwebsocket/目录,修改数据库配置文件

cd /www/huobiwebsocket/
vim application/database.php

修改火币K线定时任务相关配置,vim application/cli/controller/TradeKlineHuobi.php

启动K线定时任务

php TradeKlineHuobi.php start

定时任务启动成功,已连接到外网WebSocket服务器(非火币服务器)并能接收到服务器推送。也可以在外网服务器上面部署huobiwebsocket项目,把vim application/cli/controller/TradeKlineHuobi.php中的$flag变量改为true就能启用连接火币WebSocket服务器(在内网无法连接),这样就可以接受火币服务器的K线推送了,具体请参考huobiwebsocket项目代码。

到此,任务完成!!!
这次我部署的是纯CLI模式的项目,后续我将写一篇关于怎么部署ThinkPHP5的WEB项目,敬请期待…
如果文章有错误或者不合理的地方,欢迎大家留言指正。写的不好,大家见谅!
各位的「三连」就是小弟创作的最大动力,我们下期见!

Linux系统部署ThinkPHP5+Workerman项目相关推荐

  1. 阿里云自动java和mysql数据库_阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程)...

    阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程) (仅此纪念人生第一篇学习博客) 前阵子接了一个小小的JavaWe ...

  2. linux系统部署微服务项目

    1.安装Centos7 1.1 官网下载centos7镜像.centos7官网下载地址 1.2 虚拟机安装镜像.(百度,不再赘述) 2.linux系统安装jdk 2.1 下载jdk 链接:https: ...

  3. linux部署项目文档,Linux系统部署项目

    Linux系统部署项目 在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署 静态部署指的是我们在服 ...

  4. apache camel 相关配置_小白在 linux 系统部署apache、mysql、Laravel 环境学习笔记!

    在 linux 系统部署apache.mysql.Laravel 环境 一.在 CentOS 7.2 服务器下 部署 apache yum clean all --- 功能是:清除系统垃圾 yum - ...

  5. Linux中部署Spring Cloud项目

    Linux中部署Spring Cloud项目 文章为本人在学习的过程中,记录部署过程,仅供参考学习.因本人经验不足,教程或有不妥之处,还望指正. 保姆级教程,敬请食用!!! 简介 在学习过程中,部署时 ...

  6. Ubuntu下Linux系统部署fisco时bash操作报错权限不足(permission denied) failed to run command ‘........‘

    Ubuntu下Linux系统部署fisco时bash操作报错权限不足(permission denied) failed to run command '-' 例如这里就指的是fisco-bcos这个 ...

  7. 基于Linux系统部署新世纪版五笔输入法

    基于Linux系统部署新世纪版五笔输入法 出于工作需要,突然生出学习五笔的想法.五笔有三个版本:86/98/新世纪. 按照新手上路,有新学新的想法,选择了新世纪版. 然后发现了个坑:公司电脑是Linu ...

  8. linux+jexus 部署.net core项目报500或502错误

    linux+jexus 部署.net core项目,出现 502 BAD GATEWAY 或者 返回 500 等 5xx 错误码,表示服务器在尝试处理请求时发生内部错误. 解决方法: 1.确保项目编译 ...

  9. linux系统部署web项目

    十二.Linux下安装软件[重点] 12.1 安装JDK 在Linux下安装JDK,并配置JAVA_HOME环境变量-- 12.1.1 下载JDK的压缩包 去逛网下载压缩包,由于oracle官网更新, ...

最新文章

  1. cv2.dnn读取模型报错
  2. 数字线索: F-35单价已低于四代机,其成本控制是如何实现的?
  3. php pdo 怎么循环,php – 在循环内绑定PDO语句的参数
  4. 【学习笔记】14、标准数据类型—字典
  5. JavaScript实现浏览器菜单的一些功能
  6. Dapr牵手.NET学习笔记:发布-订阅
  7. 2018-2019-2 网络对抗技术 20165227 Exp4 恶意代码分析
  8. eclipse New菜单项的显示问题
  9. LVS_TUN 实验
  10. 连接共享打印机0xc00000bcb
  11. Zeppelin0.8.1上操作hive(使用jdbc解释器)
  12. Full CAN与Basic CAN主要区别
  13. CF Stressful training优先队列加二分搜答案
  14. PlatformIO开发之STM32点灯(基于arduino框架)
  15. 大华linux密码,Linux用户和组的实战练习
  16. [NOIP] [最短路] NOIP2012Junior 文化之旅 (culture)
  17. 图论入门六:哥尼斯堡七桥问题
  18. (转)利用Office里面的OWC组件进行画图
  19. 【C语言】让你不再害怕指针——C指针详解(经典,非常详细)
  20. 最新今日头条抢红包福袋脚本下载

热门文章

  1. Hadoop零基础入门
  2. Linux系统移植:原厂 Kernel 移植到开发板
  3. php之贴吧,PHP开发简易贴吧之数据库搭建
  4. 闪电式扩张,你会了么?
  5. android内存攻击,针对物理内存的攻击可取得 Android 设备的 root 权限
  6. 从事编程十年的程序员深谈JavaScript函数式
  7. 正态分布时的贝叶斯估计
  8. 河圖-河圖生의 時運의 圖像
  9. slim php 优点,Slim容器分析
  10. 用Python兼职接单,月入五千,实现零花钱自由这不轻轻松松~