centos 编译安装php7.1 mysql nginx

编译安装PHP

  • yum 检查更新

yum update

  • 安装php需要的依赖
yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison \
libtool-ltdl-devel libiconv libmcrypt mhash mcrypt pcre-devel openssl-devel freetype-devel libcurl-devel
  • 下载PHP
#移动到temp目录
cd temp
#下载php7.1.10
wget http://au2.php.net/distributions/php-7.1.10.tar.gz
#解压(gzip -d || tar -zxvf)
gzip -d php-7.1.10.tar.gz
#移动到解压目录
cd php-7.1.10
  • 编译安装
#配置下PHP的编译参数
./configure --prefix=/usr/local/php \ 
--with-mysql \ 
--with-mysqli \ 
--with-pdo_mysql \ 
--with-iconv-dir \ 
--with-zlib \
--with-libxml-dir \
--enable-xml \
--with-curl \
--enable-fpm \
--enable-mbstring \
--with-gd \
--with-openssl \
--with-mhash \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-freetype-dir=/usr/lib64

#编译
make
make install clean
  • 复制配置文件
cp php.ini.development /usr/local/php/etc/php.ini
cp /usr/loacl/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  • 运行php-fpm
/usr/local/php/sbin/php-fpm
  • 将php-fpm加入全局
vi /root/.bash_profile
#将 /usr/local/php/bin 加到后面,用:隔开
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/lcoal/php/bin
#重启
source /root/.bash_profile
  • 增加php-fpm启动脚本
cp /temp/php-7.1.10/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
#修改权限
cd /etc/init.d
chmod +x php-fpm

server php-fpm restart

安装php扩展

redis 为例

下载扩展

http://pecl.php.net

安装

tar -zxvf redis-3.0.1.tgz
cd redis-3.0.1
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
nake && make install

修改php.ini

extension=redis.so

重启php-fpm

service php-fpm restart

安装phalcon框架

git clone git://github.com/phalcon/cphalcon.git
cd cphalcon/build
sudo ./install

安装nginx

安装nginx需要的模块

zlib库

wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install

pcre库

wget https://sourceforge.net/projects/pcre/files/pcre/8.41/pcre-8.41.tar.gz
tar -zxvf pcre-8.41.tar.gz
cd pcre-8.41
./configure
make && make install

openssl库

wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
tar -zxvf openssl-1.0.21.tar.gz
cd openssl-1.0.21
./config
make && make install

下载nginx

wget http://nginx.org/download/nginx-1.12.1.tar.gz
tar -zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --prefix=/usr/loacl/nginx 
--sbin-path=/usr/local/nginx 
--conf-path=/usr/local/nginx/nginx.conf 
--pid-path=/usr/local/nginx/nginx.pid 
--with-http_ssl_module 
--with-zlib=/tmp/zlib-1.2.11 
--with-pcre=/tmp/pcre-8.41 
--with-openssl=/tmp/openssl-1.0.21

make && make install

启动nginx

/usr/local/nginx/nginx

查看80端口

netstat -tnl|grep 80

安装mysql

下载mysql

wget http://dev.mysql.com/Downloads/mysql/mysql-5.7.14.tar.gz    
tar -zxvf mysql-5.7.14.tar.gz    
cd mysql-5.7.14    
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \  #安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \    #数据库存放目录
-DDEFAULT_CHARSET=utf8 \                   #使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci \      #校验字符
-DEXTRA_CHARSETS=all \                     #安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 \                 #允许从本地导入数据
-DDWONLOAD_BOOST=1 \
-DPATH_BOOST=/usr/local/mysql/boost

make && make install

配置mysql

groupadd mysql   
useradd -r -g mysql mysql    
#给mysql设置目录权限    
chown -R mysql:mysql /usr/local/mysql 
#将mysql增加到系统服务 
cd /usr/local/mysql 
cp support-files/my-default.cnf /etc/my.cnf 
#创建系统服务表 
cd script/ 
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/loacl/mysql/data/ 
#复制mysql到系统服务目录 
cd /opt/mysql/support-files 
cp mysql.server /etc/init.d/mysql 
#增加mysql到系统服务 
chkconfig --ad mysql 
#开机启动 
chkconfig mysql on 
service mysql start

service mysql start 
service mysql stop 
service mysql restart

mysql全局可用

vi /root/.bash_prefile 
path后增加 /usr/local/mysql 
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

重启

source /root/.bash_prefile

修改mysql密码

mysql -u root mysql 
use mysql;
desc user;
#增加root远程能力
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
#修改密码为123456
update user set Password = password('12346') where User='root';
select Host,User,Password  from user where User='root';
flush privileges;
exit;


#重新登录
mysql -uroot -p123456

猜你喜欢

转载自blog.csdn.net/a369405354/article/details/80321509