CentOS8 需要的依赖包
dnf -y install sqlite-devel libicu-devel gcc-c++ oniguruma oniguruma-devellibxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel gmp-devel readline-devel libxslt-devel libzip-devel openssl-devel pcre-devel autoconf
下载安装包
mkdir -p /data/soft
cd /data/soft
wget http://nginx.org/download/nginx-1.21.6.tar.gz
wget https://www.php.net/distributions/php-8.1.3.tar.gz
#设置环境变量
vim /etc/ld.so.conf
#添加如下几行
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
#保存退出
:wq
# 使之生效
ldconfig -v
yum安装数据库
vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name=MariaDB
baseurl=http://mirrors.aliyun.com/mariadb/yum/10.8/centos8-amd64/
gpgkey=http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=0
enabled=1
yum install -y mariadb mariadb-server
rm -rf /var/lib/mysql
mkdir /data/mariadb
vim /etc/my.cnf.d/mysql-clients.cnf
[client]
port = 3306
socket = /data/mariadb/mysql.sock
default-character-set=utf8mb4
vim /etc/my.cnf.d/server.cnf
[mysqld]
port = 3306
datadir = /data/mariadb
socket = /data/mariadb/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 64M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
character-set-client-handshake = FALSE
init_connect='SET NAMES utf8mb4 '
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
default-character-set = utf8mb4
按照
初始化数据库
mysql_install_db --defaults-file=/etc/my.cnf --datadir=/data/mariadb/ --user=mysql
systemctl start mariadb
systemctl enable mariadb
mysqladmin -u root password "8888888"
如果数据库启动失败
vim /usr/lib/systemd/system/mariadb.service
ProtectHome=false
systemctl daemon-reload
systemctl start mariadb
安装git clone https://github.com/nih-at/libzip.git
git clone https://github.com/nih-at/libzip.git
cd libzip
mkdir build
cd build
cmake3 ..
make && make install
安装openssl
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
tar zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/local/lib64/libssl.so
ln -s /usr/local/openssl/lib/libcrypto.so /usr/local/lib64/libcrypto.so
strings /usr/local/lib64/libssl.so | grep OpenSSL
echo '/usr/local/openssl/lib' >> /etc/ld.so.conf
ldconfig -v
openssl version
安装Nginx
groupadd -r www
useradd -r -g www -s /sbin/nologin -d /usr/local/webserver/nginx -M www
tar zxvf nginx-1.17.3.tar.gz
cd nginx-1.17.3
./configure \
--prefix=/usr/local/webserver/nginx \
--without-http_memcached_module \
--user=www \
--group=www \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_secure_link_module \
--with-http_v2_module \
--with-http_sub_module \
--with-http_ssl_module
make && make install
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/webserver/nginx/logs/nginx.pid
ExecStart=/usr/local/webserver/nginx/sbin/nginx
ExecReload=/usr/local/webserver/nginx/sbin/nginx -s reload
ExecStop=/usr/local/webserver/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl enable nginx.service
systemctl start nginx.service
vim /usr/local/webserver/nginx/conf/nginx.conf
#user nobody;去除前面#号,并将用户改为www www
user www www;
# --------------------------------------------------------------------------
#pid logs/nginx.pid; 去除前面的#号
pid logs/nginx.pid;
# --------------------------------------------------------------------------
去除前面的#号 如下
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# --------------------------------------------------------------------------
# gzip on;去除前面的#号并加上隐藏版号代码
server_tokens off;
# --------------------------------------------------------------------------
index index.html index.htm;后面加上index.php 默认页
index index.html index.htm index.php;
# --------------------------------------------------------------------------
去下以下前面的#号并做如下修改
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
升级libzip
yum -y remove libzip
curl -O https://libzip.org/download/libzip-1.5.2.tar.gz
tar -zxvf libzip-1.5.2.tar.gz
cd libzip-1.5.2
mkdir build
cd build
cmake ..
make && make install
yum -y remove libzip libzip-devel
wget https://libzip.org/download/libzip-1.3.2.tar.gz
tar xvf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure
make -j 4
make install
安装PHP
wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz
tar -zxf oniguruma-6.9.4.tar.gz
cd oniguruma-6.9.4
./autogen.sh && ./configure --prefix=/usr
make && make install
tar zxvf php-7.3.9.tar.gz
cd php-7.3.9
./configure \
--prefix=/usr/local/webserver/php \
--with-config-file-path=/usr/local/webserver/php/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mhash \
--with-pcre-regex \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-pcntl \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache
make
make install
cp php.ini-production /usr/local/webserver/php/etc/php.ini
vim /usr/local/webserver/php/etc/php.ini
.找到:;date.timezone = 修改为:date.timezone = PRC
post-size
cd /usr/local/webserver/php/etc/
cp php-fpm.conf.default php-fpm.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf
cd /data/soft/php-7.3.9
cp sapi/fpm/init.d.php-fpm /usr/local/webserver/php/bin/php-fpm
chmod +x /usr/local/webserver/php/bin/php-fpm
ln -s /usr/local/webserver/php/bin/php-fpm /usr/bin
新版本通过dnf安装,这里可以省略
yum -y install http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/oniguruma-6.8.2-2.el8.x86_64.rpm
yum -y install http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/oniguruma-devel-6.8.2-2.el8.x86_64.rpm
./configure \
--prefix=/usr/local/webserver/php8 \
--with-config-file-path=/usr/local/webserver/php8/etc \
--with-config-file-scan-dir=/usr/local/webserver/php8/etc/conf.d \
--enable-fpm \
--enable-soap \
--with-openssl \
--with-openssl-dir \
--with-zlib \
--with-iconv \
--with-bz2 \
--enable-gd \
--with-jpeg \
--with-freetype \
--with-curl \
--enable-dom \
--with-xml \
--with-zip \
--enable-mbstring \
--enable-pdo \
--with-pdo-mysql \
--with-zlib-dir \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-xsl \
--enable-mysqlnd \
--with-mysqli \
--without-pear \
--disable-short-tags
Comments Closed.