linux环境安装nginx1.4+php7.2.7+mysql5.7.2.3
之前的版本(php5.6.36,mysql5.6.40), 安装php7就可以支持更高版本的swoole性能比较好。php5.6也快停止更新了。安装完之后性能比以前更好。
单个安装比较繁琐,也可以lnmp一键安装(https://lnmp.org/)。自己选择比较适合的版本
一. nginx版本1.4安装
1.安装基础依赖包
yum install gcc* automake zlib-devel libjpeg-devel giflib-devel freetype-devel
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2.选择安装文件路径 : cd/usr/local/src
3.安装PCRE库(pcre来解决C语言中使用正则表达式)
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.34
./configure
make
make install
4.安装zlib库(zlib是提供数据压缩用的函式库)
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.34
./configure
make
make install
5.安装openssl
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
tar -zxvf openssl-1.0.1t.tar.gz
5.安装nginx(http://nginx.org/download下载,下载之后上传cd /usr/local/src)
cd /usr/local/src
(wget http://nginx.org/download/nginx-1.14.0.tar.gz)
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.1.10
./configure
make
make install
如果安装报错 ,在安装yum -y install openssl openssl-devel
6.启动nginx
启动nginx:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
查看nginx进程: ps -ef|grep nginx
强制停止:pkill -9 nginx
校验nginx配置是否正确:
cd /usr/local/nginx/sbin
./nginx -t
重启nginx
cd /usr/local/nginx/sbin
./nginx -s reload
通过访问ip ,出现wecome to nginx
如果nginx安装成功,访问不了,关闭防火墙
开启80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload
或者永久关闭防火墙
systemctl stop firewalld.service //停止防火墙
systemctl disable firewalld.service //不再开机停止运行防火墙
二 php(7.2.7)源码安装
1.下载php对应的安装包:http://php.net/downloads.php(上传到/usr/local/src目录)
2.解压php压缩包
cd /usr/local/src
tar –zxvf php-7.2.7.tar.gz
3.安装php扩展:
进入目录:cd php-7.2.7
yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel -y
4.配置参数
./configure --prefix=/usr/local/php7 --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
5.编译安装
make&& make install
6.配置nginx.conf 支持解析php
加上 index.php
location / {
root html;
index index.php index.html index.htm;
}
location ~ ^(.+\.php)(.*)$ {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
#fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
client_max_body_size 500m;
}
7.启动php-fpm:
将php-fpm.conf.default复制为php-fpm.conf
cd /usr/local/php7/etc
cp php-fpm.conf.default php-fpm.conf
然后启动php-fpm
/usr/local/php7/sbin/php-fpm
如果启动报错:
解决方法:进入到 /usr/local/php7/etc/php-fmp.d下的www.conf.default 复制为www.conf,然后启动php-fpm
先把php-fpm进程清除
再启动php-fpm
/usr/local/php7/sbin/php-fpm
8.最后在/usr/local/nginx/html下新建文件index.php,输出phpinfo();
三.安装mysql5.7.23 (最新8.0.1)
1.下载
wget: https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
2、将mysql安装到/usr/local/mysql下
# 解压
tar -xvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
# 移动
mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/
# 重命名
mv /usr/local/mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql
3.新建data目录
mkdir /usr/local/mysql/data
4、新建mysql用户、mysql用户组
# mysql用户组
groupadd mysql
# mysql用户
useradd mysql -g mysql
5、将/usr/local/mysql的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql
6、配置(实列化成功会出现密码root@localhost: q9fSP9uRDa-R)
/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
#如果报错, 则使用以下命令:
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
或者
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
7.添加my.cnf(5.7.23没有默认my.cnf需要自己配置)
vi /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
#skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=10000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=16M
8.开机启动
加入服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 开机自启
chkconfig mysql on
# 开启
service mysql start
9.登录mysql修改密码(之前实列化有密码)
mysql -u root -p
修改密码
set password = password('密码')
10.允许远程访问
mysql -u root -p
use mysql;
update user set host='%' where user = 'root';
flush privileges;
eixt;
———————已经完成nginx版本1.4,php7.2.7和mysql5.7.23———————
查看mysql版本: mysql -V
查看php版本: php -v [没有环境变量就用: phpinfo() ]
查看nginx版本: nginx -v
查看swoole版本:php --ri swoole
查看redis版本: ./redis-server --version