ECS 7 天实践训练营(三)- 搭建公众号管理系统微擎

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: ECS 7 天实践训练营(三)- 搭建公众号管理系统微擎

一、 介绍

微擎是一家开源的公众平台 SAAS 领域技术服务提供商,成立于 2013 年 7 月,总部位于安徽宿州。微擎是免费开源的公众平台管理系统,拥有近百万的注册用户数,开发者认证超 20,000 名,3,000 + 款应用插件,10,000 + 应用场景,服务规模超 200,000 家,直接间接服务用户过亿 -- 百度百科

二、搭建 LNMP 环境

  1. 查看 wget 是否安装

    
    `rpm -qa wget`
    
    没有则安装
    
    `yum install wget`
    
  2. 查看是否安装编译器

    
    `rpm -qa gcc`
    
    没有则安装
    
    `yum install gcc gcc-c++`
    
  3. 安装 Nginx

  • 安装 Nginx 依赖:
yum -y install pcre pcre-devel
     yum -y install zlib zlib-devel
     yum -y install openssl openssl-devel
  • 下载并解压 Nginx:
cd /usr/local/src
     wget http://nginx.org/download/nginx-1.18.0.tar.gz
     tar -zxvf nginx-1.18.0.tar.gz
  • 编译安装 Nginx:
cd nginx-1.18.0
     ./configure --prefix=/usr/local/nginx
     make
     make install
  • 创建 nginx 账号:
groupadd nginx
     useradd -M -g nginx -s /sbin/nologin nginx
     cd /usr/local/nginx/conf

vim nginx.conf
将第一行 user 改为:
user nginx nginx
完成后执行命令
/usr/local/nginx/sbin/nginx -t
ESC+:wq+Enter 退出并保存

  1. 启动 Nginx:/usr/local/nginx/sbin/nginx ,浏览器输入服务器公网 IP,出现 Welcome to nginx! 则启动成功
  2. 安装 MySQL

  • 下载并应用 MySQL 的 yum 资源包:
cd ~
     wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
     rpm -ivh mysql-community-release-el7-5.noarch.rpm
     yum update
     yum install mysql-server
  • 改变文件属主和属组:

    
    `chown mysql:mysql -R /var/lib/mysql`
    
  • 初始化并启动 MySQL:

    
    `mysqld --initialize`
    
    `service mysqld start`
    
  • 修改密码并登陆 MySQL:

    
    `mysqladmin -u root password "your-password"`
    
    `mysql -u root -p`
    
    输入密码登陆,出现`mysql>`则成功
    
    
  1. 安装 PHP
  • 安装 PHP 依赖:
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
  • 下载 PHP:

    
    `wget https://www.php.net/distributions/php-7.3.21.tar.gz`
    
    `tar -zxvf php-7.3.21.tar.gz`
    
  • 编译安装:

cd php-7.3.21
     ./configure --prefix=/usr/local/php --disable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear --enable-bcmath
     make
     make install
  • 移动 PHP 配置文件:

    
    `cp php.ini-development /etc/php.ini`
    
  • 配置 php-fpm 运行账号:

cd /usr/local/php/etc
     cp php-fpm.conf.default php-fpm.conf
     cd php-fpm.d
     cp www.conf.default www.conf

vim www.conf
将其中的user=nobodygroup=nobody改为user=nginxgroup=nginx

  1. 使 Nginx 支持 PHP
  • 修改配置文件:vim /usr/local/nginx/conf/nginx.conf
#location ~ .php$ {
         #    root           html;
         #    fastcgi\_pass   127.0.0.1:9000;
         #    fastcgi\_index  index.php;
         #    fastcgi\_param  SCRIPT\_FILENAME  /scripts$fastcgi\_script\_name;
         #    include        fastcgi\_params;
         #}

将其中的改为注释取消,ESC+:wq+Enter 退出并保存

  • 将 Nginx 添加到系统服务:

    
    `vim /etc/init.d/nginx`
    
    ​ 内容为:
    
    
#!/bin/sh
     # nginx - this script starts and stops the nginx daemin
     #
     # chkconfig:   - 85 15
     # description:  Nginx is an HTTP(S) server, HTTP(S) reverse 
     #               proxy and IMAP/POP3 proxy server
     # processname: nginx
     # config:      /usr/local/nginx/conf/nginx.conf
     # pidfile:     /usr/local/nginx/logs/nginx.pid
     # Source function library.
     . /etc/rc.d/init.d/functions
     # Source networking configuration.
     . /etc/sysconfig/network
     # Check that networking is up.
     \[ "$NETWORKING" = "no" \] && exit 0
          nginx="/usr/local/nginx/sbin/nginx"
          prog=$(basename $nginx)
          NGINX\_CONF\_FILE="/usr/local/nginx/conf/nginx.conf"
          lockfile=/var/lock/subsys/nginx
          start() {
              \[ -x $nginx \] || exit 5
              \[ -f $NGINX\_CONF\_FILE \] || exit 6
              echo -n $"Starting $prog: "
              daemon $nginx -c $NGINX\_CONF\_FILE
              retval=$?
              echo
              \[ $retval -eq 0 \] && touch $lockfile
              return $retval
          }
             stop() {
              echo -n $"Stopping $prog: "
              killproc $prog -QUIT
              retval=$?
              echo
              \[ $retval -eq 0 \] && rm -f $lockfile
              return $retval
          }
                      restart() {
              configtest || return $?
              stop
              start
          }
               reload() {
              configtest || return $?
              echo -n $"Reloading $prog: "
              killproc $nginx -HUP
              RETVAL=$?
              echo
          }
          force\_reload() {
              restart
          }
               configtest() {
            $nginx -t -c $NGINX\_CONF\_FILE
          }
                    rh\_stlatus() {
              status $prog
          }
               rh\_status\_q() {
              rh\_status >/dev/null 2>&1
          }
          case "$1" in
              start)
                  rh\_status\_q && exit 0
             $1
             ;;
              stop)
                       rh\_status\_q || exit 0
             $1
             ;;
              restart|configtest)
             $1
             ;;
              reload)
             rh\_status\_q || exit 7
             $1
             ;;
                   force-reload)
             force\_reload
             ;;
         status)
             rh\_status
             ;;
                   condrestart|try-restart)
                  rh\_status\_q || exit 0
                 ;;
              \*)
                  echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
             exit 2
          esac

chmod 755 /etc/init.d/nginx
chkconfig –add nginx

  • 重启 Nginx:

    
    `service nginx restart`
    
    
  1. 设置 php-fpm 为系统服务:
  • 添加配置文件:

    
    `vim /etc/systemd/system/php-fpm.service`
    
    内容为
    
    
\[Unit\]
          Description=php-fpm
          After=network.target
          \[Service\]
          Type=forking
          ExecStart=/usr/local/php/sbin/php-fpm
          PrivateTmp=True
          \[Install\]
          WantedBy=multi-user.target

ESC+:wq+Enter 退出并保存

  1. 设置 php-fpm 开机自启并启动 php-fpm:
  • 设置 php-fpm 开机自启动:

    
    `systemctl enable php-fpm.service`
    
  • 启动 php-fpm:

    
    `systemctl start php-fpm.service`
    
  • 查看启动是否成功:

    
    `ps aux | grep php-fpm`
    
    

三、搭建微擎

  1. 创建站点:
  • 创建 Nginx 配置文件

    
    `mkdir -p /usr/local/nginx/vhost/weengine`
    
    `vim /usr/local/nginx/vhost/vhost_weengine.conf`
    
    内容为:
    
    
server {
             listen       80;
             server\_name  localhost;
                  #charset koi8-r;
                  #access\_log  logs/host.access.log  main;
                  location / {
                 root   vhost/weengine;
                 index  index.html index.htm;
             }
                  #error\_page  404              /404.html;
                  # redirect server error pages to the static page /50x.html
             #
             error\_page   500 502 503 504  /50x.html;
             location = /50x.html {
                 root   html;
             }
                  # proxy the PHP scripts to Apache listening on 127.0.0.1:80
             #
             #location ~ .php$ {
             #    proxy\_pass   http://127.0.0.1;
             #}
                  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
             #
             location ~ .php$ {
                 root           html;
                 fastcgi\_pass   127.0.0.1:9000;
                 fastcgi\_index  index.php;
                 fastcgi\_param  SCRIPT\_FILENAME /usr/local/nginx/vhost/weengine$fastcgi\_script\_name;
                 include        fastcgi\_params;
             }
                  # deny access to .htaccess files, if Apache's document root
             # concurs with nginx's one
             #
             #location ~ /.ht {
             #    deny  all;
             #}
         }
          vim /usr/local/nginx/conf/nginx.conf
           修改nginx默认端口listen       800;
          include /usr/local/nginx/vhost/\*.conf;

vim /usr/local/nginx/conf/nginx.conf

在 http{} 代码块最后添加

include /usr/local/nginx/vhost/*.conf;

重启 nginx

service nginx restart

  • 下载并解压微擎

    
    `cd /usr/local/nginx/vhost/weengine`
    
    `wget https://cdn.w7.cc/download/WeEngine-Laster-Online.zip`
    
    `unzip https://cdn.w7.cc/download/WeEngine-Laster-Online.zip`
    
    
  1. 配置微擎
  • 浏览器输入公网 IP/install.php 按提示一步步配置即可

参考文章:

LNMP 环境搭建 (linux+Nginx + Mysql + PHP)

service nginx start|stop|reload 报错:Failed to reload nginx.service: Unit not found.【解决方案】

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
1月前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
55 5
Linux系统之安装Ward服务器监控工具
|
27天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
69 3
|
29天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
1月前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
1月前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
1月前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
1月前
|
NoSQL Linux PHP
|
弹性计算 安全 Ubuntu
阿里云ECS搭建禅道
由于最近换工作,发现新公司问题记录跟踪还在用excel,于是强烈建议使用项目管理工具,并获得批准,在比较了禅道和JIRA,还是选择了禅道,禅道的上下级联的层级关系可能更符合国人的使用习惯,秉承着谁出主意谁干活儿的国际惯例,这个事情也就落到我的头上,于是在阿里云从头开始搭建,这里作个记录。
541 0
阿里云ECS搭建禅道
|
9天前
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。
下一篇
无影云桌面