部署LAMP应用程序(附环境安装脚本)

以目前来看,基于微信公众平台和小程序的应用程序开发是很普遍的,需求量也是很大的。经过几次LAMP环境应用程序的部署工作后,我觉得有必要把一般在Linux平台部署基于LAMP环境的应用程序的一般步骤记录下来作为经验积累。

为了部署过程更加便捷,我将此文章中所述的环境搭建步骤写成了 Python 脚本,使用此脚本可以自动安装LAMPP(Apache、MySQL、PHP、PHPMyAdmin)环境,可以点击这里下载安装脚本。

LAMP环境

LAMP是Linux,Apache,MySQL,PHP的缩写。Linux为操作系统,Apache为web服务器另外还提供PHP模块,MySQL是数据库。MySQL一般会有两种版本的选择,一是MySQL5.6,二是比较新的版本。PHP也是这样,一般现在会选择PHP7.x。另外,一般我接触过的会使用LAMP环境作为运行环境的应用程序为——使用PHP CI框架开发的为微信公众号或小程序提供后端服务的应用程序。

部署步骤

一、获得Linux服务器

当然了,应用程序需要一个机器运行,可以从云平台上或者其他途径购买或获得一台Linux系统的服务器(一般使用CentOS或Ubuntu系统)。

二、安装所需软件(CentOS为例)

1.安装Apache服务器

更新yum软件源:

1
yum makecache

安装Apache:

1
yum install httpd

安装完成后开启Apache:

1
service httpd start

设置开机启动:

1
chkconfig httpd on

可能需要的设置有:

  1. 防火墙打开http和https端口。
  2. selinux可能需要关闭或设置。

2.安装MySQL数据库

MySQL数据库在CentOS上不在默认的软件源中,它被MySQL的开源分支MariaDB替换了。CentOS中自带了MariaDB的安装,所以需要先卸载。

卸载预装的MariaDB:

1
yum remove mariadb-libs

访问MySQL官网下载安装MySQL源:https://dev.mysql.com/downloads/repo/yum/

CentOS为例,在上述页面中根据CentOS版本选择Redhat Enterprise Linux 6或7的rpm下载并安装。

1
yum localinstall 包名称

安装好之后使用下面的命令查看当前选择准备安装的MySQL版本:

1
yum repolist all | grep mysql

如果我们想安装的mysql版本右边显示的不是enable,就要切换安装版本:

1
vim /etc/yum.repos.d/mysql-community.repo

文件中的格式就像下面这样的,查看方括号中的mysql80,寻找到想安装的版本,并把enabled的值改成1即可启用,另外要将原本启用的版本enabled改成0.

1
2
3
4
5
6
[mysql80-community] 
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

然后可以使用下面的命令查看一下是否启用:

1
yum repolist enabled | grep mysql

若想要安装的版本已经启用,就直接使用下面的命令安装:

1
yum install mysql-community-server

安装完成后启动MySQL服务器:

1
service mysqld start

获得root的初始密码:

1
grep 'temporary password' /var/log/mysqld.log

使用命令登录MySQL并更改密码:

1
2
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

使用下面的命令进行安全性设置(仅限于MySQL5.6):

1
mysql_secure_installation

设置数据库开机启动:

1
chkconfig mysqld on

数据库安装完成。

3.安装PHP7.x

在CentOS上默认软件源目前是没有PHP7.x的,我们需要自己添加。参照下方网页的指示:
https://webtatic.com/packages/php72/
这是一个提供CentOS软件源的网站。

获得PHP7.x的软件源:

1
2
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装用于Apache的PHP模块:

1
yum install mod_php72w php72w-opcache

另外还要安装一些工具库:

数据库连接库
php72w-mysqlnd

mbstring库
php72w-mbstring

PHP安装完成。

三、设置环境

1.设置服务器的时间(PHP的时间)

修改php.ini文件:

1
date.timezone=Asia/Shanghai

2.如果使用的是CI框架,就要开启Apache的url重写功能:

找到/etc/httpd/conf/httpd.conf将

1
LoadModule rewrite_module modules/mod_rewrite.so

这一行的注释符号#去掉,并在下方的None改成All即可。

1
2
3
<Directory "/var/www/html">
AllowOverride None
</Directory>

四、完成部署

现在已经基本完成部署,可以把程序代码上传到服务器上来测试一下了。

以上。


部署LAMP应用程序(附环境安装脚本)
https://maphical.cn/2018/05/deploy-lamp-server/
作者
MaphicalYng
发布于
2018年5月5日
许可协议