前言:
本文适合于已经对Linux操作系统具有基本操作经验,并且能够在Linux或Windows上通过一键搭建工具或者yum命令行进行环境搭建的读者,阅读本文需具有一定的专业知识,本文不建议初学者阅读。
本文所描述的是在标准的CentOS 7.3.1611 64位操作系统下,因是公司老项目迁移,所以版本略低,安装Nginx 1.18.0 + PHP 5.4.44 + MySQL5.6.46环境。采用源码编译安装的方式,虽然较直接使用yum命令安装较为复杂,但是源码安装可以自定义指定安装路径,可以自定义配置安装配套的库和插件,这样服务器运维人员将更清楚自己服务器的情况,从而,在日后的环境、插件的升级和更新操作中,将变得更加简便和容易。
准备安装工具:
安装make
1 | yum -y install gcc automake autoconf libtool make |
安装g++
1 | yum -y install gcc gcc-c++ glibc |
创建安装目录:
本文是在阿里云服务器上安装,所以在服务器根目录下创建alidata目录,然后在alidata目录里面分别创建server目录、webapps目录和package目录,其中server目录存放所有的服务器软件(本文中所涉及到的nginx、php、mysql等),webapps目录存放所有部署的代码及程序,package目录用来存放安装过程中需要用到的编译后的库文件。
需以root权限,依次执行以下命令
1 | mkdir /alidata |
这里需要说明,上述的server目录,是指环境安装完成后,运行程序所在的目录,并非nginx等程序的源码存放目录,为了方便,本文将下载到的这些运行环境程序的源码统一存放于/opt目录下,读者可根据自身情况及喜好,将运行环境程序源码存放于任意不是/alidata/server的目录下。
安装Nginx:
下载pcre(官网)
1 | cd /opt/ |
下载zlib(官网)
1 | cd /opt/ |
下载openssl(官网)
1 | cd /opt/ |
为nginx添加用户及组
nginx的工作进程需要以某一个用户的权限进行运行,为了服务器安全,一般指定一个普通用户权限的账号做为nginx的运行角色,根据个人习惯,这里使用www用户做为nginx工作进程的用户,后续安装的PHP也以www用户做为工作进程用户,依次执行以下命令以创建用户及用户组
1 | groupadd -r www |
下载安装nginx(官网)
1 | cd /opt/ |
./configure配置详解如下:
1 | --prefix表示nginx要安装到哪个路径下 |
启动nginx
1 | /alidata/server/nginx/sbin/nginx |
其他nginx命令
1 | /alidata/server/nginx/sbin/nginx -s stop #关闭nginx服务 |
查看启动状态,验证安装成果。输入下面命令显示进程即为成功。
1 | ps aux | grep nginx |
或在公网访问服务器ip,有页面即为成功,需要在阿里云开放80端口。
加入全局系统环境变量
用命令vim /etc/profile
打开文件在末尾加上export PATH=$PATH:/alidata/server/nginx/sbin
保存退出,使用命令source /etc/profile
立即生效,使用命令nginx -v
查看结果。
设置nginx开机自启动
使用命令vim /etc/rc.local
打开文件在最后一行加入/alidata/server/nginx/sbin/nginx
,记得使用命令chmod 755 /etc/rc.local
给文件权限。
安装Php:
通过yum命令安装php需要的常用库
1 | yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel |
下载安装Php(官网)
1 | cd /opt/ |
设置php配置文件
将官方提供的配置模板拷贝到配置参数中所指定的目录中,然后可以根据自己服务器的需求,对php.ini文件的内容进行修改。
注意官方提供php.ini-development (开发环境用)与 php.ini-production(生产环境用)两个建议,随自己心愿拷贝。
1 | cp /opt/php-5.4.44/php.ini-production /alidata/server/php/etc/php.ini |
设置php-fpm配置文件
1 | cd /alidata/server/php/etc/ |
使用vim php-fpm.conf
命令对文件的global下和www下的内容进行如下修改,保存并退出(其他配置可根据自己的情况进行相应修改)。
1 | pid = /alidata/server/php/var/run/php-fpm.pid |
1 | user = www |
启动php-fpm
1 | /alidata/server/php/sbin/php-fpm |
其他命令
1 | kill -INT `cat /alidata/server/php/var/run/php-fpm.pid` #立即终止php-fpm |
启动后用命令ps aux | grep php-fpm
查看,如有进程表示成功。
加入全局系统环境变量
用命令vim /etc/profile
打开文件在末尾加上export PATH=$PATH:/alidata/server/php/bin:/alidata/server/php/sbin
保存退出,使用命令source /etc/profile
立即生效,使用命令php -v
查看结果。
设置php-fpm开机自启动
使用命令vim /etc/rc.local
打开文件在最后一行加入/alidata/server/php/sbin/php-fpm
,记得使用命令chmod 755 /etc/rc.local
给文件权限。
安装mysql:
下载安装cmake(官网)
1 | cd /opt/ |
加入全局系统环境变量
用命令vim /etc/profile
打开文件在末尾加上export PATH=$PATH:/alidata/package/cmake/bin
保存退出,使用命令source /etc/profile
立即生效,使用命令cmake --version
查看结果。
下载安装ncurses(官网)
1 | cd /opt/ |
安装libaio库
1 | yum -y install libaio* |
为MySQL添加用户及组
1 | groupadd mysql |
下载安装MySQL(官网)
1 | cd /por/ |
cmake配置详解如下:
1 | -DCMAKE_INSTALL_PREFIX #数据文件存放目录 |
修改mysql目录权限
1 | chown -R mysql:mysql cd /alidata/server/mysql/ |
执行初始化脚本
1 | cd /alidata/server/mysql/ |
拷贝启动脚本
1 | cp support-files/mysql.server /etc/init.d/mysqld |
vim /etc/my.cnf
修改文件内容如下:
1 | [client] |
vim /etc/init.d/mysqld
修改 basedir 和 datadir 路径,与my.cnf中保持一致。
启动停止命令
1 | /etc/init.d/mysqld start #启动MySQL |
加入全局系统环境变量
用命令vim /etc/profile
打开文件在末尾加上export PATH=$PATH:/alidata/server/mysql/bin
保存退出,使用命令source /etc/profile
立即生效,使用命令mysql
查看结果。
设置mysql开机自启动
使用命令vim /etc/rc.local
打开文件在最后一行加入/alidata/server/mysql/bin/mysqld
,记得使用命令chmod 755 /etc/rc.local
给文件权限。