写在前面:我安装的虚拟机是virtual Box,linux操作系统是centos7,连接服务器远程工具是finalshell。
1、搭建环境所需的软件
在服务器data文件下创建文件夹server和soft,创建这两个文件夹只是为了方便管理文件压缩包和解压后的文件,将压缩包放在soft文件下,解压后的文件放在server文件下,
可以使用Linux命令创建文件夹,命令如下:
mkdir /data/{server,soft} -p
//-p 的意思是在创建server和soft文件时,同时创建data文件夹,因为根目录下没有data文件夹
搭建测试环境所需的具体软件如下图:
禅道开源版下载地址:在这里,如下图:
2、Nginx安装
编译安装Nginx时,需要有一个专用的启动用户,把这个用户设置为www,此时需要给服务器创建专用用户www,命令如下:
useradd www -s /sbin/nologin -M
// -s表示指定用户所用的shell
// nologin 的意思是www用户没有登录权限,只能给某一个软件使用
// -M表示不创建用户主目录
2.1编译安装Nginx(因为nginx-1.18.0.tar.gz文件里是源码,所以需要编译)
依次执行以下命令:
[root@192 data]# cd soft
[root@192 soft]# tar xzf nginx-1.18.0.tar.gz
[root@192 soft]# cd nginx-1.18.0
[root@192 nginx-1.18.0]# ./configure --prefix=/data/server/nginx
[root@192 nginx-1.18.0]# make
[root@192 nginx-1.18.0]# make install
// tar本质上不是解压缩命令,而是备份文件的命令。是 -xzf 这几个参数实现了解压缩的功能。
// -x或--extract或--get:从备份文件中还原文件;
// -z或--gzip或--ungzip:通过gzip指令处理备份文件;
// -f<备份文件>或--file=<备份文件>:指定备份文件;
// 源码的安装通常由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
// ./configure --prefix=/data/server/nginx 该命令的意思是执行configure文件,并将nginx安装到data/server文件夹下,--prefix选项是配置安装的路径
// 源码安装具体命令的学习参考http://www.javashuo.com/article/p-atmvpvou-me.html
2.2 修改配置文件
修改nginx--> conf--->nginx.conf 文件,文件结构如下图:
使用vi命令修改nginx.conf文件,只需将“# user nobody”修改为“user www”即可,
再输入命令“:wq”进行保存并退出。
2.3 运行Nginx
具体的操作命令为:
[root@192 conf]# cd /
[root@192 /]# /data/server/nginx/sbin/nginx
再关闭服务器的防火墙,使用命令:
[root@192 /]# service firewalld stop
再将服务器网址输入到宿主机中,即可看到如下效果:
2.4其他有关nginx操作的若干指令:
检查
[root@192 /]# /data/server/nginx/sbin/nginx -t
nginx: the configuration file /data/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /data/server/nginx/conf/nginx.conf test is successful
启动
[root@192 /]# /data/server/nginx/sbin/nginx
关闭
[root@192 /]# /data/server/nginx/sbin/nginx -s stop
重启
[root@192 /]# /data/server/nginx/sbin/nginx -s reload
3.MySQL安装
安装MySQL与Nginx一样,也是需要给MySQL创建一个专用用户,操作命令如下:
[root@localhost /]# useradd -s /sbin/nologin -M mysql
3.1解压MySQL:
因为我下载的mysql是以.xz结尾的文件,所以首先需要将xz文件转化成.tar文件:
[root@localhost soft]# xz -d mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
再解压到指定到server文件夹下:
[root@localhost soft]# tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar -C /data/server/
// x 从档案文件中释放文件。
// v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
// f 这个参数是必选的,要不你就找不到你的tar文件
// -C 解压到指定目录下
查看下server文件夹,则可看到该文件下已经有解压后的mysql-8.0.23-linux-glibc2.12-x86_64文件
由于“mysql-8.0.23-linux-glibc2.12-x86_64”的名字太长,我们可以创建软链接,给“mysql-8.0.23-linux-glibc2.12-x86_64”取一个别名“mysql”,具体的操作指令如下:
[root@localhost server]# ln -s mysql-8.0.23-linux-glibc2.12-x86_64/ mysql
//ln: 代表给文件建立链接
//-s:建立软链接文件。如果不加 "-s" 选项,则建立硬链接文件;
效果如下:
3.2初始化数据库
进行初始化数据库之前,需要在/data/server/mysql下新建一个data文件夹,然后执行以下命令:
[root@localhost server]# /data/server/mysql/bin/mysqld --initialize --basedir=/data/server/mysql --datadir=/data/server/mysql/data/ --user=mysql
//命令的意思分别为
// /data/server/mysql/bin/mysqld:运行可执行程序mysqld。mysqld是计算机的一个进程,是MySQL数据库服务器的相关程序;它是mysql的守护进程,每次在使用mysql前必须先用它。
// --initialize 初始化
// basedir=/data/server/mysql: 该参数指定了安装 MySQL 的安装路径,填写全路径可以解决相对路径所造成的问题。
// datadir=/data/server/mysql/data/ 表示指定了 MySQL 的数据库文件放在什么路径下。数据库文件即我们常说的 MySQL data 文件。
// user=mysql 用户为mysql用户
3.3数据库配置文件管理
在mysql/support-files创建文件my-default.cnf
[root@192 mysql]# cd support-files
[root@192 support-files]# touch my-default.cnf
将my-default.cnf文件覆盖/etc/my.cnf文件
[root@192 support-files]# cp -a ./my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
再在/etc/my.cnf.d文件下新建一个mysqld.cnf文件,并将以下的配置文件编辑进去:
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/tmp/mysql.sock
basedir=/data/server/mysql
datadir=/data/server/mysql/data
3.4数据库启动命令配置
[root@192 my.cnf.d]# /data/server/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@192 my.cnf.d]# chmod +x /etc/init.d/mysqld
3.5启动文件修改
打开/data/server/mysql/support-files/mysql.server 文件可以看到,mysql中很多的默认路径都是在/uer/local下,而我把mysql的安装路径和文件保存路径都放在/data/server路径下了,因此,这一步需要按照实际的路径进行修改。命令如下:
[root@192 my.cnf.d]# sed -i 's#/usr/local/mysql#/data/server/mysql#g' /data/server/mysql/bin/mysqld_safe /etc/init.d/mysqld
// sed 命令十分强大,就好比win系统下的“查找替换”功能 例如 sed -i 's#hello#goodbye#g' test.txt。表示把test.txt文件中所有的hello替换成goodbye,其中s代表'替换',g代表'全部、所有'
3.6数据库文件权限设置
[root@192 ~]# chown -R mysql.mysql /data/server/mysql/
//chown 为change owner 代表改变拥有者
启动数据库前检查,并启动数据库,检查数据库启动状态
[root@192 server]# /etc/init.d/mysqld start
[root@192 server]# netstat -tulp|grep mysqld
3.7配置环境变量
3.7.1编辑 /etc/profile 文件,在文件末尾(先按大写的G,再按小写的o,到文档的最下面)加上如下一句:
3.7.2 让环境变量生效
[root@192 server]# source /etc/profile
3.7.3 检查环境变量是否生效
[root@192 server]# echo $PATH
3.8进入测试数据库
输入3.2步骤中生成的初始密码
3.9 修改mysql数据库登录用户名与密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.01 sec)
检查密码是否设置成功
3.10将mysql服务设置为开启自启动
[root@192 server]# chkconfig --add mysqld
[root@192 server]# chkconfig mysqld on
4.PHP安装
php是一种通用开源脚本语言,使用广泛,主要适用于web开发领域。
4.1安装依赖软件:libiconv
依次执行以下命令:
[root@localhost ~]# cd /data/soft
[root@localhost soft]# tar zxf libiconv-1.16.tar.gz
[root@localhost soft]# cd libiconv-1.16
[root@localhost libiconv-1.16]# ./configure --prefix=/usr/local/libiconv
//配置装到/usr/local/libiconv路径下
编译
[root@localhost ~]# make
[root@localhost ~]# make install
4.2PHP解压
[root@localhost libiconv-1.16]# cd /data/soft/
[root@localhost soft]# tar xzf php-7.4.16.tar.gz
[root@localhost soft]# cd php-7.4.16
4.3PHP配置
[root@localhost php-7.4.16]# ln -s /data/server/mysql/lib/libmysqlclient.so.21 /usr/lib64/
//创建软链接
[root@localhost php-7.4.16]# touch ext/phar/phar.phar
[root@localhost php-7.4.16]# ./configure \
--prefix=/data/server/php-7.4.16 \
--with-config-file-path=/usr/local/php/etc \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--enable-pdo \
--with-iconv-dir \
--with-freetype \
--with-jpeg \
--with-zlib \
--enable-xml \
--enable-session \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--enable-intl \
--enable-pcntl \
--enable-bcmath \
--enable-ftp \
--enable-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--with-zip \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--enable-maintainer-zts \
--with-xsl \
--enable-tokenizer \
--enable-fpm
对于 Nopackage 'libzip' found 问题,按照这篇博客进行安装和配置,其余问题配置过程中的问题,看这篇博客,写的很详细。
如果出现下方样式,则表明配置完成
4.4php编译与安装
[root@localhost php-7.4.16]# make && make install
4.5PHP文件配置
首先我们检查下/data/server路径下是否有了PHP文件
4.5.1.创建一个软链接,方便使用:
[root@localhost php-7.4.16]# cd /data/server
[root@localhost server]# ln -s php-7.4.16/ php
、
4.5.2 把解压包内的php解析文件拷贝到php安装目录下
[root@localhost php-7.4.16]# cp /data/soft/php-7.4.16/php.ini-production /data/server/php/lib/php.ini
4.5.3修改php.ini文件,开启session功能
[root@localhost ~]# vim /data/server/php/lib/php.ini
打开php.ini 文件后,如果想在文件中找到session.save_path关键字,可在命令行输入‘/session.save_path’,再按回车键。php.ini文件中所有的session.save_path关键字将会高亮显示,如下图:
找到“;session.save_path=“/temp”’”这一行,将该行最前面的‘;’删掉,也就是改成了“session.save_path="/temp”,如下图:
4.5.4 复制php-fpm的配置文件,默认没有该文件但是有一个备份文件
[root@localhost ~]# cp /data/server/php/etc/php-fpm.conf.default /data/server/php/etc/php-fpm.conf
4.6启动PHP
4.6.1执行启动命令
[root@localhost ~]# cd /data/server/php/sbin/php-fpm
如果启动不成功,报以下错误:
解决办法是:
进入PHP的安装目录中,打开php-fpm.d文件夹,复制一份www.conf.default文件并将它重名为www.conf,操作命令为:
[root@localhost /]# cd /data/server/php/etc/php-fpm.d/
[root@localhost php-fpm.d]# cp www.conf.default www.conf
重新再执行下PHP启动命令,则成功,这是我们可以检查一下PHP启动状态:
4.6.2关闭PHP命令
[root@localhost /]# pkill php-fpm
未完待续。。。