`

远程管理项目部署(lamp)@Author:Tim Lu

 
阅读更多
远程管理项目部署(lamp)@Author:Tim Lu

切换至root用户

    su 切换到root用户

修改Ubuntu的apt-get源为国内镜像源

原文件备份

    cp /etc/apt/sources.list /etc/apt/sources.list.bak

2 编辑源列表文件(建议用阿里云源)

    vim /etc/apt/sources.list

把下面的任意一下复制到sources.list中去,并覆盖原来的文件内容

    deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
    deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
    deb http://mirrors.aliyun.com/ubuntu/ xenial universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
    deb http://archive.canonical.com/ubuntu xenial partner
    deb-src http://archive.canonical.com/ubuntu xenial partner
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

update命令

    apt-get update

部署lamp运行环境

安装扩展PHP

Ubuntu 16.04默认安装php7.0环境,但是php7目前兼容性并不是很好,如果自行安装php5.6需要清除php7的已安装包,否则会报错

    dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
    apt-get install aptitude
    aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

添加 PPA

    add-apt-repository ppa:ondrej/php

    如果提示add-apt-repository找不到:
    先安装
        apt-get install python-software-properties
    再安装
        apt-get install software-properties-common
    然后再执行上面的安装命令就行了。

安装php5.6及其它库安装

    apt-get update
    apt-get install php5.6 
    apt-get install php5.6-gd
    apt-get install php5.6-dev
    apt-get install php5.6-zip 
   
    测试:php -v

安装Apache2

    apt install apache2
    apt-get install libapache2-mod-php5.6

    测试:     浏览器访问http://Ubuntu的IP,出现It Works!网页。
    查看状态: service apache2 status/start/stop/restart
    Web目录:  /var/www
    安装目录: /etc/apache2/
    全局配置: /etc/apache2/apache2.conf
    监听端口: /etc/apache2/ports.conf
    虚拟主机: /etc/apache2/sites-enabled/000-default.conf

安装MySQL

    apt-get install mysql-server mysql-client
    apt-get install php5.6-mysql
    mysql_secure_installation
   
    初始账号:root 密码:123456
   
    测试:              mysql -u root -p
    查看状态:          service mysql status/start/stop/retart
    查看监听端口的情况: netstat -tunlp 或 netstat -tap

重启服务

    service apache2 restart
    service mysql restart
   
    测试Apache能否解析PHP
    vim /var/www/html/phpinfo.php
    文件中写:<?php echo phpinfo();?>
    浏览器访问:http://ubuntu地址/phpinfo.php,出现PHP Version网页

其他扩展库安装及配置

Redis安装

redis安装及支持php

    apt-get install redis-server
    apt-get install php5.6-redis
   
    安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序
    查看状态: service redis-server status/start/stop/restart

配置redis多端口,新增6380端口

配置端口

    redis-server默认启动的端口是6379,使用的是默认的配置文件/etc/redis/redis.conf
    比如现在要开启6380端口,先复制默认的配置文件为redis_6380:
        cp /etc/redis/redis.conf /etc/redis/redis_6380.conf
    编辑redis_6380.conf文件:
        vim /etc/redis/redis_6380.conf
    进行下面内容修改:
        pidfile /var/run/redis/redis-server6380.pid
        port 6380
        logfile /var/log/redis/redis-server6380.log
        dbfilename dump6380.rdb
    保存,启动这个配置文件
        redis-server /etc/redis/redis_6380.conf

查看redis运行进程

    ps -ef | grep redis

    redis出现6379、6380两个端口运行进程

测试

    redis-cli -p 6379
    redis-cli -p 6380

Curl安装

    apt-get install curl

Composer安装

    apt-get install composer

Zip安装

    apt-get install zip

远程管理:remote_manage_system项目部署

删除/var/www/中html文件夹

    rm -rf /var/www/html/

clone项目文件

    将remote_manage_system,database放置/var/www/

执行数据库文件

    执行database中mythware_remote.sql文件创建数据库

修改apache2默认访问文件夹,访问远程管理项目

   

    1:访问远程管理系统,直接访问IP地址:
    vi /etc/apache2/sites-available/000-default.conf
    修改
    DocumentRoot /var/www/html
    至
    DocumentRoot /var/www/dist
   
    2:后端API访问地址需添加二级域名remote
    vi /etc/apache2/apache2.conf
    找到
    <Directory /var/www/>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    后面添加
    Alias /remote /var/www/remote_manage_system/public/
    <Directory /var/www/remote_manage_system/public/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
   
    3:重启apache2
        service apache2 restart

进入项目中(remote_manage_system)

    根目录:
    1:修改env文件
        cp .env.example .env
       
        修改mysql,redis配置信息
        vi .env
       
        DB_HOST=127.0.0.1
        DB_PORT=3306
        DB_DATABASE=mythware_remote
        DB_USERNAME=root
        DB_PASSWORD=123456
       
        REDIS_HOST=127.0.0.1
        REDIS_PASSWORD=null
        REDIS_PORT=6380
       
        .....
       
        remote_api_url=http://192.168.0.240/remote/
        vswitch_server_url=192.168.0.253
        vswitch_server_port=8022
        vswitch_redis_server_url=192.168.0.253
        vswitch_redis_server_port=6379
        dm_valid_url=192.168.0.240:7000/api/deviceinfo
        dm_account=admin
        dm_password=Mythware123
       
    2:解压缩vendor.zip文件夹
        unzip vendor.zip
        rm vendor.zip
       
    3:修改 storage/  bootstrap/cache/ public/这三个文件夹读写权限
        chmod -R a+w storage/
        chmod -R a+w bootstrap/cache
        chmod –R a+w public/
       
    4:项目根目录下:ext文件夹中将扩展库更新到php类库中
           cp /var/www/remote_manage_system/ext/* /usr/lib/php/20131226/
       php环境类库目录: /usr/lib/php/20131226/
       更新php.ini,加载ext库
           vi /etc/php/5.6/apache2/php.ini
       找到;extension=php_xsl.dll这行 下面添加
           extension=remoteproto.so
           extension=vswitch.so
       重启apache生效
           service apache2 restart

访问项目

直接访问当前Ubantu IP地址

   

    1:支持laravel URL重写
        a2enmod rewrite
    2:去除访问url中的index.php 支持.htaccess
        vi /etc/apache2/apache2.conf
        将
        <Directory /var/www/>
                Options FollowSymLinks
                AllowOverride none
                Require all granted
        </Directory>
        至
        <Directory /var/www/>
                Options FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>
    3:重启apache2
        service apache2 restart

5:启动crotab,修改定时执行任务,定时更新设备在线,离线状态

   

    crontab -e
    检查设备在线状态,更新设备在线离线,每三秒执行一次,添加下面内容:
    */1 * * * *  /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 3 &&  /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 6 &&  /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 9 &&  /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 12 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 15 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 18 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 21 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 24 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 27 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 30 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 33 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 36 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 39 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 42 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 45 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 48 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 51 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 54 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
    */1 * * * * sleep 57 && /usr/bin/php /var/www/remote_manage_system/artisan  laravel:academy
   
    重启crontab
    service cron restart

6:启动workerman进程,socket服务端 

    

    进入项目文件夹
        cd /var/www/remote_manage_system/
        php artisan wk start


分享到:
评论

相关推荐

    项目上线 阿里云服务器部署LAMP环境

    非原创,阿里云服务器部署 LAMP环境 项目上线,亲测有用。慢慢摸索肯定能搞成。在此祝各位兄台事业顺利。

    ubuntu下lamp的部署

    ### Ubuntu 下 LAMP 的部署详解 #### 一、概述 LAMP 是一套常见的 Web 开发环境,由 Linux、Apache、MySQL 和 PHP 组成。在本篇内容中,我们将详细介绍如何在 Ubuntu 操作系统上搭建 LAMP 环境。通过这一过程,读者...

    基于SpringCloud的lamp-cloud微服务快速开发平台设计源码

    lamp-cloud微服务快速开发平台设计源码:该项目基于SpringCloud和SpringBoot开发,包含737个文件,主要使用Java和Shell语言。lamp-cloud是一个微服务中后台快速开发平台,专注于多租户(SaaS架构)解决方案,也可...

    一键部署LAMP环境,搭建个人博客

    一键部署LAMP环境,搭建自己的个人博客不是梦,基于FPM模式的编译安装实现Lamp应用的wordpress,

    部署LAMP(CentOS7.2)过程

    在CentOS 7.2系统上部署LAMP环境是许多开发者和系统管理员的常规任务,尤其是对于需要快速建立网站服务的场景。 部署LAMP环境在阿里云服务器上有三种方法:镜像部署、一键安装包部署和手动部署。其中,镜像部署适合...

    lamp-job:基于xxl-job的适配lamp项目的定时任务

    lamp 快速开发平台lamp 项目名字由来叙事版:在一个夜黑风高的晚上,小孩吵着要出去玩,于是和程序员老婆一起带小孩出去放风,路上顺便讨论起项目要换个什么名字,在各自想出的名字都被对方一一否决后,大家陷入了...

    DVD@Home:DVD编目网站软件-开源

    这款软件基于LAMP架构,即Linux操作系统、Apache网络服务器、MySQL数据库管理系统和PHP编程语言,这一组合在开发web应用时非常常见,因其开放源代码且功能强大而广受欢迎。 DVD@Home的核心功能是帮助用户创建一个...

    08-基于LAMP架构部署商城系统

    PHPSHE商城系统集成了商品管理、品牌管理、规格管理、折扣管理、拼团管理、优惠券管理、在线购物、订单管理、资金管理、提现管理、支付管理、文章管理、会员管理、权限管理、通知管理、评价管理、数据统计等功能。...

    Linux运维-4.服务管理-007LAMP-2视频-079 网站项目部署.avi

    Linux运维-4.服务管理-007LAMP-2视频-079 网站项目部署.avi

    Ansible部署LAMP.pdf

    - systemd模块:systemd模块用于管理远程主机上的systemd服务。文件内容表明使用systemd模块来启动并使能httpd和mariadb服务。 知识点四:Web服务器配置 在Ansible脚本中,通过copy模块分发了配置文件httpd.conf到...

    服务器搭建及项目部署1

    了解 Linux 根目录的结构对于服务器搭建和项目部署非常重要,能够帮助我们更好地管理和维护服务器。 二、Linux 包管理工具 Linux 包管理工具是 Linux 系统中一个非常重要的组件,它能够帮助我们安装、卸载和管理...

    A.Concise.Guide.to.Dynamic.Web.Application.WAMP.LAMP

    Title: A Concise Guide to Dynamic Web Application: WAMP/LAMP Author: Alasdair Gilchrist Length: 74 pages Edition: 1 Language: English Publication Date: 2015-03-04 ISBN-10: B00UAFGHY8 This ebook is a ...

    geekzonehostingllc-clipbucket-lamp-server:geekzonehostingllcclipbucket灯服务器

    geekzonehostingllc-clipbucket-lamp-server geekzonehostingllc / clipbucket-lamp-server在docker pull上查看docker hub回购geekzonehostingllc / clipbucket-lamp-server:最新 指示: 要求: 码头工人 码头...

    lamp-generator:基于 `mybatis-plus-generator` 自定义的代码生成器,专门为 [lamp-cloud](https

    lamp 快速开发平台lamp 项目名字由来叙事版:在一个夜黑风高的晚上,小孩吵着要出去玩,于是和程序员老婆一起带小孩出去放风,路上顺便讨论起项目要换个什么名字,在各自想出的名字都被对方一一否决后,大家陷入了...

    基于Ansible自动化运维系统批量部署LAMP架构的设计与实现.rar

    Ansible通过SSH(Secure Shell)协议连接目标节点,无需在远程主机上安装额外代理,极大地简化了部署流程。其主要功能包括: 1. 配置管理:Ansible的playbooks是用YAML编写的剧本,可以定义服务器的配置状态。在...

    Ubuntu18.04 linux系统安装JDK与Mysql的方法

    在Ubuntu 18.04操作系统中安装JDK和MySQL是进行软件开发或...这些基础的配置对于开发Java应用程序和管理数据库是必不可少的。在实际操作中,还需要根据个人需求配置防火墙规则、设置开机启动等,以确保系统稳定运行。

    Linux、Nginx、MySQL、PHP部署服务器例子:TPshop项目部署文档

    在IT行业中,构建一个基于Linux、Nginx、MySQL和PHP(通常称为LAMP)的服务器环境是常见的实践,尤其适用于...通过遵循上述步骤,你将能够成功地在LAMP环境中部署TPshop项目,为用户提供一个高效、安全的在线购物体验。

Global site tag (gtag.js) - Google Analytics