准备工作(必要的依赖包)
yum -y install bzip2-devel curl-devel freetype-devel gcc libjpeg-devel libpng-devel libxslt-devel libxml2-devel openssl-devel pcre-devel pcre-devel zlib-devel
本地下载安装包
http://php.net/get/php-7.0.11.tar.gz/from/a/mirror (下载php-7.0.11.tar.gz)
将安装包远程传到服务器上
scp php-7.0.11.tar.gz username@ip:/usr/local/php-7.0.11.tar.gz
解压安装包
tar -zxvf php-7.0.11.tar.gz
注:如果报错 gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now 原因 : 这个压缩包没有用gzip格式压缩,所以不用加z指令! tar -xvf php-7.0.11.tar.gz
配置安装变量
./configure –prefix=/usr/local/php –with-curl –with-freetype-dir –with-gd –with-gettext –with-iconv-dir –with-kerberos –with-libdir=lib64 –with-libxml-dir –with-mysqli –with-openssl –with-pcre-regex –with-pdo-mysql –with-pdo-sqlite –with-pear –with-png-dir –with-jpeg-dir –with-xmlrpc –with-xsl –with-zlib –with-bz2 –with-mhash –enable-fpm –enable-bcmath –enable-libxml –enable-inline-optimization –enable-gd-native-ttf –enable-mbregex –enable-mbstring –enable-opcache –enable-pcntl –enable-shmop –enable-soap –enable-sockets –enable-sysvsem –enable-sysvshm –enable-xml –enable-zip
注:./configure –prefix=/usr/local/php 是安装路径,可以改成自己喜欢的安装路径。
编译源码
//在解压目录执行编译命令:make cd php-7.0.11 make
注:编译会花费一些时间,耐心等待即可。编译完成的最后会提示你执行make test命令。就是对上一步 make 的检查,要确保 make 是没有错误的,也就是这一步的 test、check要全部是 OK 的,error 为0。
安装php
make install
配置PHP
将PHP源码包(/usr/local/php-7.0.11)中的php.ini-development文件复制到/usr/local/php/下,更名为php.ini。
cp /usr/local/php-7.0.11/php.ini-development /usr/local/php/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf配置php.ini
cgi.fix_pathinfo=0启动php-fpm
/usr/local/php/sbin/php-fpm检查php-fpm工作情况
php-fpm 服务器默认的端口是9000,查看9000端口是否有进程被监听
netstat -tln | grep 9000准备工作必要依赖包安装
在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel本地下载安装包
https://nginx.org/download/ (下载nginx-1.9.9.tar.gz)
将安装包远程传到服务器上
scp php-7.0.11.tar.gz username@ip:/usr/local/nginx-1.9.9.tar.gz
解压安装包
tar -zxvf nginx-1.9.9.tar.gz
配置/编译
cd nginx-1.9.9 //注:编译 (地址可以自己定义) ./configure --prefix=/etc/nginx make make install检测安装是否成功
cd /etc/nginx/sbin ./nginx
如果在这个环节报错: nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory) 2016/09/13 19:08:56 [emerg] 6996#0: open() "/usr/local/nginx/logs/access.log" failed (2: No such file or directory)
原因分析:nginx/目录下没有logs文件夹
mkdir logs chmod 700 logs监听查询查看
ps aux|grep nginx直接输入IP地址,页面渲染为:
【异常处理】 如果没有上面的渲染页面,我们则需要Telnet 连接下: telnet Ip地址 80 如果报连接失败,则说明服务器的80端口是打不开的。 【解决方案】 firewall-cmd –query-port=80/tcp
说明80端口还真没打开呀! (⊙o⊙)开启80端口走起! firewall-cmd –add-port=80/tcp –permanent 注: –permanent #永久生效,没有此参数重启后失效 o( ̄ヘ ̄o#)重启防火墙 systemctl restart firewalld
(^o^)/~刷新浏览器!
设置Nginx开机启动
vim /etc/rc.d/rc.local #开机启动 /etc/nginx/sbin/nginx注:所有的开机启动都要在 /etc/rc.d/rc.local 中
配置Nginx
编辑nginx配置文件/etc/nginx/conf/nginx.conf,主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:
然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:
主要修改的就是fastcgi_param设置为: SCRIPT_FILENAME $document_root$fastcgi_script_name 修改完这些保存并退出,然后重启nginx: /etc/nginx/sbin/nginx -s reload
检测是否配置成功
在nginx下的html目录下创建test.php文件,打印一下php配置:
touch test.php vi test.php phpinfo();访问PHP文件如果出现PHP配置,则nginx配置成功
【运行环境】查看自己主机的属性(选择适合主机的MySQL包)
more /etc/issue【安装方法】阐述
安装MySQL主要有两种方法:
第一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;
第二种是通过编译过的二进制文件进行安装。
二进制文件安装的方法又分为两种:
一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件;
第二种是使用RPM或其他包进行安装,这种安装进程会自动完成系统的相关配置,所以比较方便。
【检查安装包】检查是否已安装
rpm -qa | grep -i mysql *注:grep的-i选项表示匹配时忽略大小写可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸:载时使用了–nodeps选项,忽略了依赖关系:
rpm -e mysql-libs-5.1.73-7.el6.x86_64 --nodeps再次运行上面命令(rpm -qa | grep -i mysql)的时候 将不会再显示库文件。
【添加用户组】
添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组。
groupadd mysql useradd -r -g mysql mysql*注:useradd -r参数表示mysql用户是系统用户,不可用于登录系统。
【二进制文件安装】
下载安装包 点击下载链接地址
下载安装包mysql-5.7.17-linux-glibc2.5-i686.tar.gz 到本地
上传到服务器
scp mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz user@ip:/usr/local解压缩安装包
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz更改目录名称(太长了)
mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql进入mysql文件夹,也就是mysql所在的目录,并更改所属的组和用户。
cd mysql chown -R mysql . chgrp -R mysql .开始作死安装o( ̄ヘ ̄o#)
执行mysql_install_db脚本,对mysql中的data目录进行初始化并创建一些系统表格。注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是我们之前设置的mysql用户)执行这个脚本,或者用root执行,但是加上参数–user=mysql。
cd mysql chown -R mysql . chgrp -R mysql .配置文件o( ̄√ ̄o#)
cd support-files //复制my.cnf 到 /etc/my.cnf (mysqld启动时自动读取) cp my-default.cnf /etc/my.cnf *注意:如果你在安装时Linux虚拟机时同时安装了默认的mysql,此时操作以上步骤,终端将会提示你文件已存在是否覆盖,输入yes覆盖即可。 //配置数据库编码 vi /etc/my.cnf //在这份文件中可以添加以下配置信息(如果有修改即可) [mysql] default-character-set=utf8 [mysqld] default-storage-engine=INNODB character_set_server=utf8 //复制mysql.server 到/etc/init.d/ 目录下【目的想实现开机自动执行效果】 执行命令:cp mysql.server /etc/init.d/mysql (mysql是服务名) //修改 /etc/init.d/mysql 参数 vi /etc/init.d/mysql //给与2个目录位置 basedir=/usr/local/mysql datadir=/usr/local/mysql/datamysql用户管理o( ̄ヘ ̄o#)
passwd mysql #给mysql用户设置一个密码 #给目录/usr/local/mysql 更改拥有者 chown -R mysql:mysql /usr/local/mysql/初始化 mysql 的数据库o( ̄ヘ ̄o#)
cd mysql/bin //初始化 ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注: 生成出一个data目录,代表数据库已经初始化成功 并且mysql的root用户生成一个临时密码:SHNq8Qvd2g>L(最好先记录这个临时密码) 记住最后的root@localhost:密码
给数据库加密 ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
启动MySQL/检查MySQLo( ̄ヘ ̄o#)
给数据库加密 ./mysql_ssl_rsa_setup –datadir=/usr/local/mysql/data`
启动mysql(为了不让进程卡主,可在启动mysql的命令后加上&代表此进程在后台运行) ./mysqld_safe --user=mysql &
检查ps -ef | grep mysql
登录MySQL数据库咯O(∩_∩)O哈哈 //登录 ./mysql -uroot -p回车后输入之前的临时密码 //修改密码 set password=password('新密码');