centos7 安装 php7.3 mysql5.6 nginx1.6


第一步 安装nginx

yum -y install epel-release lrzsz  zip unzip wget tree git dpkg  pcre pcre-devel openssl openssl-devel gd-devel  zlib-devel gcc

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null

yum repolist

yum clean all

sed -i 's/^SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config 

wget http://nginx.org/download/nginx-1.16.0.tar.gz

tar -xf nginx-1.16.0.tar.gz 

cd nginx-1.16.0

useradd -s /sbin/nologin -M nginx

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre --with-http_gzip_static_module --with-http_dav_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module

make && make install

ln -sv /usr/local/nginx/sbin/nginx /usr/sbin/nginx

nginx 

ss -ntl

nginx开机启动脚本

vim /etc/init.d/nginx

#!/bin/bash


# chkconfig: - 99 2


# description: Nginx Service Control Script


PROG="/usr/local/nginx/sbin/nginx"


PIDF="/usr/local/nginx/logs/nginx.pid"


case "$1" in


        start)


        $PROG


        ;;


        stop)


        kill -3 $(cat $PIDF)


        ;;


        restart)


        $0 stop &> /dev/null


        if [ $? -ne 0 ] ; then continue ; fi


        $0 start


        ;;


        reload)


        kill -1 $(cat $PIDF)


        ;;


        *)

echo "Userage: $0 { start | stop | restart | reload }"


        exit 1


esac


exit 0


chmod +x /etc/init.d/nginx 

chkconfig --add nginx

chkconfig --list

chkconfig nginx on




第二步 安装php7.3

yum install bzip2 bzip2-devel  libcurl-dev  libcurl-dev curl-devel postgresql-devel libxslt-devel

yum remove libzip

cd /usr/local/src

wget https://nih.at/libzip/libzip-1.2.0.tar.gz

tar -xf libzip-1.2.0.tar.gz

cd libzip-1.2.0

./configure

make &&make install


#添加搜索路径到配置文件


echo '/usr/local/lib64


/usr/local/lib


/usr/lib


/usr/lib64'>>/etc/ld.so.conf


 #然后 更新配置


ldconfig -v

useradd -s /sbin/nologin php-fpm

wget https://www.php.net/distributions/php-7.3.8.tar.gz

tar -xf php-7.3.8.tar.gz 

cd php-7.3.8

./configure --prefix=/usr/local/php --sysconfdir=/usr/local/php/etc --with-config-file-path=/usr/local/php/etc/ --with-fpm-user=php-fpm --with-fpm-group=php-fpm --enable-fpm --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-gd  --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --with-openssl --with-libdir=/lib/x86_64-linux-gnu/ --enable-ftp --with-gettext --with-xmlrpc --with-xsl --enable-opcache --with-iconv --with-xpm-dir=/usr

make && make install

cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h

make && make install

cp php.ini-production /usr/local/php/etc/php.ini

cp /usr/local/src/php-7.3.8/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

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

chmod 755 /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

chkconfig --list

ln -s /usr/local/php/bin/php /usr/sbin/php

php -v

service php-fpm start


PHP优化配置

注释符:较新的版本中,已经完全使用;进行注释

#:纯粹的注释信息

;:用于注释可启用的directive


vim /usr/local/php/etc/php.ini

max_execution_time= 30 最长执行时间30s

memory_limit 128M 生产不够,可调大

display_errors off 调试使用,不要打开,否则可能暴露重要信息

display_startup_errors off 建议关闭

post_max_size 8M 最大上传数据大小,生产可能临时要调大,比下面项要大

upload_max_filesize 2M 最大上传文件,生产可能要调大

max_file_uploads = 20 同时上传最多文件数

date.timezone =Asia/Shanghai 指定时区

short_open_tag=on 开启短标签,如<? phpinfo();?>



第三步安装mysql5.6

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

 rpm -ivh mysql-community-release-el7-5.noarch.rpm

 yum install mysql-server

 rpm -qa |grep mysql

 systemctl start mysqld.service 

 ss -ntl

 ystemctl enable mysqld

 

设置密码 。


mysql5.6 安装完成后,它的 root 用户的密码默认是空的,我们需要及时用 mysql 的 root 用户登录(第一次直接回车,不用输入密码),并修改密码。


# mysql -u root

mysql> use mysql;

mysql> update user set password=PASSWORD("这里输入root用户密码") where User='root';

mysql> flush privileges; 


设置远程主机登录

mysql> GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password';

mysql开启慢日志查询功能

Linux系统下是编辑/etc/my.cnf

注意:[mysqld]下面添加
#mysql慢日志开启
slow_query_log=ON
slow_query_log_file=/var/lib/mysql/mysql-slow.log
long_query_time=1

然后,重启mysql服务使之生效:

service mysqld restart

接下来就可以通过slow_query_log_file指定的日志路径查看慢查询记录了