mysql、apache 、php安装及测试

回复 收藏

mysql5.7 二进制包安装

  1 下载包并使用FTP协议传输到 /mnt目录下

  2 解压并移动到 /usr/local/mysql目录下

tar -xvf mysql-5.7.17-linux-glibc2.5-i686.tar

mv mysql-5.7.17-linux-glibc2.5-i686  /usr/local/mysql

  3 初始化

useradd -M -s /sbin/nologin  mysql      //添加用户但不创建家目录

mkdir -p /data/mysql

chown mysql /data/mysql

cd /usr/local/mysql

./bin/mysqld  --initialize --user=mysql --datadir=/data/mysql     //初始化用户为mysql,数据存储目录为/data/mysql

注意,这一步最后一行会有一个提示

[Note] A temporary password is generated for root@localhost: B*s1i(*,kXwg

最后面的字符串为root密码。

./bin/mysql_ssl_rsa_setup --datadir=/data/mysql                       //MySQL服务器开启SSL功能

4. 拷贝配置文件和启动脚本

cp support-files/my-default.cnf  /etc/my.cnf

vim /etc/my.cnf //编辑或者修改

basedir = /usr/local/mysql

datadir = /data/mysql

port = 3306

socket = /tmp/mysql.sock

cp support-files/mysql.server /etc/init.d/mysqld

vi /etc/init.d/mysqld   //编辑或者修改

basedir=/usr/local/mysql          //安装路径

datadir=/data/mysql                //数据文件存放路径

编译参数# cat /usr/local/mysql/bin/mysqlbug|grep configure   不适用于mysql  5.7

5. 启动服务

/etc/init.d/mysqld start

Starting MySQL.Logging to '/data/mysql/suning.err'    //启动日志存放位置

日志中此错误的解决办法

[ERROR] SSL error: Unable to get private key from 'server-key.pem'

chmod 644 server-key.pem

6. 设置root密码

a  使用初始化密码登录

/usr/local/mysql/bin/mysql -uroot -p'B*s1i(*,kXwg'  //进入后直接设置密码

mysql>set password = password('mypass');   //一定要设置一下新密码

退出来,再使用新的密码登录就可以了

b  还有一种情况,就是不知道初始化密码

vi /etc/my.cnf

在[mysqld]下面增加一行

skip-grant-tables

重启  /etc/init.d/mysqld restart

/usr/local/mysql/bin/mysql -uroot

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql,建立软连接,这样以后直接用mysql就可以启动了

mysql> update mysql.user set authentication_string=password('688992') where user='root';

退出来后,更改my.cnf,去掉刚加的 skip-grant-tables

重启 /etc/init.d/mysqld restart

此时就可以使用新的密码了。

卸载方法

如果是卸载咱们的方法安装的mysql,具体做法是:

1. 停掉服务

2. 删除/usr/local/mysql

3. 删除/data/mysql

4. 删除/etc/my.cnf

5. 删除启动脚本

6. 删除mysql用户

Apache  httpd安装

apache官网下载地址: http://www.apache.org/dyn/closer.cgi

提前安装库文件:yum install -y pcre pcre-devel apr apr-devel zlib-devel

1   下载并解压

tar -jxvf  

2    配置编译参数:

[root@localhost src]# cd httpd-2.2.16

[root@localhost httpd-2.2.16]# ./configure \

--prefix=/usr/local/apache \                                      //指定安装目录

--with-included-apr \                                                //apache依赖包,支持httpd跨平台安装

--enable-so \                                                             //表示启用DSO

--enable-deflate=shared \                                        // 表示共享的方式编译deflate

--enable-expires=shared \

--enable-rewrite=shared \

--with-pcre                                                              // 正则相关的库

回车

echo $?

返回0,表示无错误

3  make

echo $?

4  make install 

echo $?

上面的编译参数保存在/usr/local/apache2/build/config.nice

启动

/usr/local/apache2/bin/apachectl start / stop / restart(进程关闭再启动)  /  graceful(原来的进程还在,重新加载配置文件)

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

编辑  配置文件 /usr/local/apache2/conf /httpd.conf

找到#ServerName www.example.com:80   把#去掉,再重启apache即可没事了

ps aux | grep httpd    //查看进程是否启动

netstat -lnp               //查看端口

/usr/local/apache2/bin/apachectl -M                    //查看所有模块(shared-动态共享   static-静态)

/usr/local/apache2/bin/apachectl -l                      //查看静态模块

/usr/local/apache2/bin/apachectl -t                     //查看配置文件(/usr/local/apache2/conf /httpd.conf)有无语法错误

动态

ls /usr/local/apache2/modules

     httpd.exp  mod_deflate.so  mod_expires.so  mod_rewrite.so

     其中以so结尾的为动态共享文件,当程序用到时,自动加载

静态

du -sh /usr/local/apache2/bin/httpd

     1.7M    /usr/local/apache2/bin/httpd

     静态模块编译保存在/usr/local/apache2/bin/httpd,静态模块在程序启动时自动加载

三种常用工作模式---查资料了解更多

prefork:主进程下派生很多子进程

worker:主进程下派生子进程,子进程下派生线程

event:worker的升级版

/usr/local/apache2/bin/apachectl -l

在查看静态模块的结果中,有项  prefork.c  ,是Apache2.2的默认工作模式;2.4默认是event

在安装包httpd-2.2.16里,./configure --help 中查找  --with-mpm选项指定工作模式

DSO是Dynamic Shared Objects(动态共享目标)的缩写,它提供了一种在运行时将特殊格式的代码在程序运行需要时,将需要的部分从外存调入内存执行的方法。Apache 支持动态共享模块,也支持静态模块,静态的话,会把需要的目标直接编译进apache的可执行文件中,相比较动态,虽然省去了加载共享模块的步骤,但是也加大了二进制执行文件的空间,变得臃肿。

安装PHP

1  下载并解压

 tar -Jxvf php-5.6.29.tar.xz

2 配置编译参数:

 cd php-5.3.27

 ./configure \

--prefix=/usr/local/php \

--with-apxs2=/usr/local/apache2/bin/apxs \           //自动安装扩展模块的工具,在apache2/modules/目录下多了libphp5.so

--with-config-file-path=/usr/local/php/etc  \

--with-mysql=/usr/local/mysql \                             //依赖于MySQL

--with-libxml-dir \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--with-iconv-dir \

--with-zlib-dir \

--with-bz2 \

--with-openssl \

--with-mcrypt \

--enable-soap \

--enable-gd-native-ttf \

--enable-mbstring \

--enable-sockets \

--enable-exif \

--disable-ipv6

/usr/local/php/bin/php -i |grep configure(编译参数)  

3 make         echo $?   0

4 make install            echo $?             0

安装完成

配置文件:/usr/local/php/etc/php.ini

/usr/local/php/bin/php -m      显示静态加载的模块

/usr/local/php/bin/php -i        显示相关配置

测试php解析

因为php安装时产生了新模块,所以Apache需要重启

  /usr/local/apache2/bin/apachectl  restart

访问公网IP地址  101.200.61.81    //记得关闭防火墙

查看Apache配置文件,确定项目运行目录,添加解析php的配置

/usr/local/apache2/htdocs        //apache的运行项目位置 

Apache主配置文件为:/usr/local/apache2/conf/httpd.conf

vim /usr/local/apache2/conf/httpd.conf

1  找到:AddType application/x-gzip .gz .tgz

在该行下面添加:AddType application/x-httpd-php .php

2  找到:

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

将该行改为:

<IfModule dir_module>    DirectoryIndex index.html index.htm index.php

</IfModule>

3  找到:

#ServerName www.example.com:80

修改为:

ServerName localhost:80

4   检查配置是否正确  /usr/local/apache2/bin/apachectl -t

5  设置php配置文件        cp /usr/local/src/php-5.6.29/php.ini-development /usr/local/php/etc/php.ini(开发板或者生产版)

6  重启Apache配置文件    /usr/local/apache2/bin/apachectl graceful

curl     http://101.200.61.81/info.php  不用切换到浏览器访问

/usr/local/php/bin/php 2.php,也能返回浏览器的输出结果

/usr/local/php/bin/php -i   等于浏览器访问php.info(phpinfo()函数)

2016-12-26 23:47 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: