1、准备资源,下载nginx及相关组件:

  1. cd usr/local/src 进入下载目录,可自定义
  2. 准备下载4个程序:
wget http://nginx.org/download/nginx-1.10.2.tar.gz
wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz

如果安装了c++的环境就可跳过,如未安装:yum install gcc-c++ (点击y即可)
安装结尾显示complete,即代表安装完成
如果出现

Loaded plugins: fastestmirror
Setting up Install Process
Determining fastest mirrors
No package gcc-c++ available.
Error: Nothing to do

可以执行以下步骤解决:

1. cd /etc/yum.repos.d
2. mv CentOS-Base.repo CentOS-Base.repo.backup
3. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
4. mv CentOS6-Base-163.repo CentOS-Base.repo
5. yum clean all

二、安装nginx及其组件

  1. 安装openssl:
tar -zxvf openssl-fips-2.0.10.tar.gz
cd openssl-fips-2.0.10
./config && make && make install  

进入文件执行安装程序

  1. 安装pcre
tar -zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure && make && make install
  1. 安装zlib
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure && make && make install
  1. 安装nginx
tar zxvf nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure && make && make install

3、启动nginx

  1. 查看nginx安装的地址(whereis)
  2. 进入目录启动
cd /usr/local/nginx/     
/usr/local/nginx/sbin/nginx

一般这个时候会报错,不要慌张!!!
错误信息:error while loading shared libraries:libpcre.so.1…
解决方案:

[root@localhost nginx]# whereis libpcre.so.1
libpcre.so: /lib64/libpcre.so.0 /usr/local/lib/libpcre.so.1 /usr/local/lib/libpcre.so
[root@localhost nginx]# ln -s /usr/local/lib/libpcre.so.1 /lib64
[root@localhost nginx]# sbin/nginx 
[root@localhost nginx]# ps -aux | grep nginx
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      12007  0.0  0.0  20296   628 ?        Ss   13:28   0:00 nginx: master process sbin/nginx
nobody    12008  0.0  0.1  20716  1220 ?        S    13:28   0:00 nginx: worker process
root      12010  0.0  0.0 103244   836 pts/0    S+   13:29   0:00 grep nginx

首先打开php官网点击导航栏的Downloads进入下载页面:http://php.net/downloads.php
这里下载最新版的php 7.0.5 的源码包:

下载下来之后上传至服务器
因为php安装需要编译,所以服务器应该保证gcc和g++环境的安装
首先释放安装包:

tar -xvzf php-7.0.5.tar.gz
cd php-7.0.5

接下来进行参数配置,配置前如果没有libxml2和libxml2-devel会报错,所以应该更新libxml2并安装libxml2-devel,使用在线安装:

yum -y install libxml2
yum -y install libxml2-devel

执行命令**./configure**
然后执行编译:
make
编译时间可能会有点长,编译完成之后,执行安装:
make install

接下来安装 pdo_mysql,在安装pdo_mysql前要安装pdo,在安装pdo前要安装mysql

cd /var/www/php-7.0.32/ext/pdo_mysql/  php上传的源码路径
/usr/local/bin/phpize   # /usr/local/php为php安装后的目录
./configure --with-php-config=/usr/local/bin/php-config --with-pdo-mysql=/usr/local/mysql
/usr/local/bin/php-config  为php的安装路径
/usr/local/mysql  mysql的安装路径    不知道可以写/usr试试
sudo make && sudo make install

报**configure: error: Cannot find php_pdo_driver.h.**错误
原因是安装 pdo_mysql 前需要先安装 pdo

cd  php-7.0.32/ext/pdo/
/usr/local/bin/phpize

运行会出现错误

这个时候不要着急,出现这个问题的人挺多的。 按我下面的步骤走一遍即可完美解决。

wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz

在没有网情况下,可以先下载这个包,在进行上传

tar -zvxf m4-1.4.9.tar.gz
cd m4-1.4.9/
./configure && make && make install
cd ../
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar -zvxf autoconf-2.62.tar.gz
cd autoconf-2.62/
./configure && make && make install

 

./configure --with-php-config=/usr/local/bin/php-config  --enable-pdo=shared
make &&make install
 /usr/local/lib/php/extensions/no-debug-non-zts-20170718/

然后
交以下几行添加至php/lib/php.ini 文件上

extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20151012/"
extension=pdo.so
extension=pdo_mysql.so

安装mysql

  1. 下载
  • 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads
  • 下载版本:我这里选择的5.6.33,通用版,linux下64位
  • 也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
  1. 解压
    #解压
 tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

#复制解压后的mysql目录

 cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
  1. 添加用户组和用户
    #添加用户组
    groupadd mysql
    #添加用户mysql 到用户组mysql
    useradd -g mysql mysql
  2. 安装
cd /usr/local/mysql/
mkdir ./data/mysql
chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp support-files/my-default.cnf /etc/my.cnf

运行如果报错:

FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper

解决方法 :安装autoconf库

yum -y install autoconf

#修改启动脚本

vi /etc/init.d/mysqld

#修改项

basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql

#启动服务

service mysqld start

#测试连接

./mysql/bin/mysql -uroot

#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了

cd /etc  vim profile
export PATH=$PATH:/usr/local/mysql/bin //加入到最后一行
source /etc/profile //让所有用户读环境变量得配置
#启动mysql
service mysqld start
#关闭mysql
service mysqld stop
#查看运行状态
service mysqld status
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql

5、错误

  1. sqlyog连接时,报1130错误,是由于没有给远程连接的用户权限问题
    解决1:更改 ‘mysql’数据库‘user’表‘host’项,从‘localhost’改成‘%’。
use mysql;
select 'host' from user where user='root';
update user set host = '%' where user ='root';//运行这段话会报错,不用管
flush privileges;
  1. 授权法。
    例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
    GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON . TO ‘myuser’@‘192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

MySQL允许远程访问

初始化root密码
进入mysql数据库
mysql>update user set password=PASSWORD(‘123456’) where User=‘root’; (3)在安装mysql的机器上运行:
//进入MySQL服务器
# mysql -h localhost -u root
//赋予任何主机访问数据的权限
mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ WITH GRANT OPTION;
//使修改生效
mysql>flush privileges;
//退出MySQL服务器
mysql>EXIT

卸载mysql:
查找之前老版本mysql的目录、并且删除老版本mysql的文件和库

find / -name mysql

查找结果如下:

find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql

删除对应的mysql目录

rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql

具体的步骤如图:查找目录并删除
root环境下源码安装nginx,php, mysql_xml
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf

4、再次查找机器是否安装mysql

rpm -qa|grep -i mysql