安装php7.4
安装需要的支持
(这里我用的是centos)
yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel sqlite-devel sqlite gcc automake autoconf libtool make gcc-c++ glibc wget
2.下载oniguruma源码包(正则表达式源码包)
wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz
3.解压源码包
tar -xvf oniguruma-6.9.4.tar.gz
4.进入文件夹
cd oniguruma-6.9.4/
5. 运行一下./sutogen.sh
./autogen.sh
6.编译安装
./configure --prefix=/usr --libdir=/lib64
make && make install
7.下载php源码包
wget https://mirrors.sohu.com/php/php-7.4.16.tar.gz
8.解压压缩包并进入
tar -zxvf php-7.4.16.tar.gz
cd php-7.4.16
9.编译安装(安装目录在/usr/local/php)
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir
make all install
10.安装好后在源码包中找到php.ini-production然后执行
mv php.ini-production /usr/local/php/lib/php.ini
11.安装完成后需要生成php.fpm的配置文件
cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
cd /usr/local/php/etc/php-fpm.d
cp www.conf.default www.conf
12.讲php-fpm加入到service,执行
cp /home/php-7.4.16/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
//赋予权限
chmod 775 /etc/init.d/php-fpm
php安装完成
安装nginx
1.安装pcre库
cd /home
wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
tar -zxvf pcre-8.44.tar.gz
cd pcre-8.44
./configure
make
make install
2.安装zlib库
cd /home
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
3.安装ssl(不用编译安装,解压即可)
cd /home
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
tar -zxvf openssl-1.1.1g.tar.gz
4.安装nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_gzip_static_module --with-http_stub_status_module --with-file-aio --with-http_realip_module --with-http_ssl_module --with-pcre=/home/pcre-8.44 --with-zlib=/home/zlib-1.2.11 --with-openssl=/home/openssl-1.1.1g
make -j2
make install
5.将nginx加入到环境变量
cp /usr/local/nginx/nginx /etc/init.d/nginx
//赋予权限
chmod 775 /etc/init.d/nginx
nginx安装完成
安装mysql8.0
1.下载源码包
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
2.将下载的mysql安装包解压
//解压
tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
//移动
mv mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql
//添加mysql组和mysql用户
//添加mysql组
groupadd mysql
//添加mysql用户
useradd -r -g mysql mysql
3.配置mysql配置文件与初始化mysql (初始化后会有密码,记得保存)
//给mysql组/usr/local/mysql文件权限
chown -R mysql:mysql /usr/local/mysql
//初始化mysql服务
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
chown -R root:root /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
//修改/etc/my.cnf配置文件权限
chmod 755 /etc/my.cnf
4.修改my.conf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
secure_file_priv=/var/lib/mysql
port = 3306
socket = /tmp/mysql.sock
datadir = /usr/local/mysql/data
default_storage_engine = InnoDB
performance_schema_max_table_instances = 400
table_definition_cache = 400
skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 100G
table_open_cache = 128
sort_buffer_size = 768K
net_buffer_length = 4K
read_buffer_size = 768K
read_rnd_buffer_size = 256K
myisam_sort_buffer_size = 8M
thread_cache_size = 16
tmp_table_size = 32M
default_authentication_plugin = mysql_native_password
lower_case_table_names = 1
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
log_error=/usr/local/mysql/data/error.err
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
binlog_expire_logs_seconds = 600000
slow_query_log=1
slow-query-log-file=/usr/local/mysql/data/mysql-slow.log
long_query_time=3
early-plugin-load = ""
innodb_data_home_dir = /usr/local/mysql/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data
innodb_buffer_pool_size = 128M
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 1
innodb_write_io_threads = 1
[mysqldump]
quick
max_allowed_packet = 500M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 768K
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
5.将mysql添加到service
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
6.开启mysql并加入到环境变量
//启动mysql服务
service mysql start
vi /etc/profile
profile中填写内容:
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
保存退出之后,运行命令:source /etc/profile
7.登录mysql (密码在初始化中会有)
mysql -uroot -p
>> use mysql
//修改密码
>> alter user 'root'@'localhost' identified by '密码';
//创建用户用于远程连接
create user "用户名"@"%" identified by "密码";
flush privileges;
OK