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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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
目录
相关文章
|
17天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
18天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
40 5
Linux系统之安装Ward服务器监控工具
|
24天前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
99 32
|
2天前
|
弹性计算 运维
新 企业级ECS集群运维管理训练营 打卡学习领好礼
新 企业级ECS集群运维管理训练营 打卡学习领好礼
20 3
|
12天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
49 3
|
13天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
15天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
16天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
18天前
|
弹性计算 前端开发 JavaScript
高校学生在家实践ECS弹性云服务器
简单谈谈我这几周使用ECS弹性云服务器的体验感
|
16天前
|
NoSQL Linux PHP

热门文章

最新文章