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()函数)
编辑回复