- 实验环境 CentOS 8.3.2011
- 防火墙及 SElinux 均为关闭状态
- 首先安装 nginx
- 从官网上下载当前最新版本
- wget http://nginx.org/download/nginx-1.19.9.tar.gz
- tar xf nginx-1.19.9.tar.gz
- 安装依赖包
- yum -y install zlib zlib-devel pcre pcre-devel openssl openssl-devel gd gd-devel
- 编译的时候如果提示
-
./configure: error: the HTTP rewrite module requires the PCRE library.
-
./configure: error: SSL modules require the OpenSSL library.
- 就是没有相应的依赖包导致的报错
- 创建用户
- useradd -s /sbin/nologin -M nginx
- cd nginx-1.19.9/
-
./configure --prefix=/usr/local/nginx1.19.9 --user=nginx --group=nginx \
--with-http_ssl_module --with-http_dav_module --with-http_stub_status_module \
--with-http_addition_module --with-http_sub_module --with-http_flv_module \
--with-http_mp4_module --with-http_realip_module --with-http_gzip_static_module \
--with-pcre --conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log --with-debug \
--with-http_image_filter_module
- 确认没有报错接下来 make 安装
- make && make install
- 成功安装后可以查看到相关信息
- 接下来设置环境变量
- echo "export PATH=/usr/local/nginx-1.19.9/sbin:$PATH" > /etc/profile.d/NMP.sh
- source /etc/profile.d/NMP.sh
- exec bash
- 编辑一下 nginx 的配置文件
- vim /etc/nginx/nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html/;
include /etc/nginx/default.d/*.conf;
index index.php index.html;
location ~ \.php$ {
root /usr/share/nginx/html/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
-
生成service文件:
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx-The High-performance HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx-1.19.9/logs/nginx.pid
ExecStartPre=/usr/local/nginx-1.19.9/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/local/nginx-1.19.9/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/local/nginx-1.19.9/sbin/nginx -s reload
ExecStop=/usr/local/nginx-1.19.9/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 重新加载服务文件后启动 nginx
- 设置开机启动
- 重启服务器验证是否开机启动
- 接下来编译安装 mariaDB
- 首先从官网上下载目前最新版本
- wget https://mirrors.ustc.edu.cn/mariadb//mariadb-10.5.9/source/mariadb-10.5.9.tar.gz
- tar xf mariadb-10.5.9.tar.gz
- 编译安装之前的准备工作
首先创建用户
useradd -M -s /sbin/nologin mysql - 创建目录
- mkdir /usr/local/mysql && mkdir -p /data/mysql
- chown -R mysql.mysql /usr/local/mysql && chown -R mysql.mysql /data/mysql
-
安装编译安装的包组及准备相关文件
- yum -y install bison zlib zlib-devel pcre pcre-devel libcurl libcurl-devel libarchive boost boost-devel gcc gcc-c++ cmake ncurses ncurses-devel gnutls gnutls-devel libxml2 libxml2-devel openssl openssl-devel libevent libevent-devel libaio libaio-devel ncurses ncurses-devel jemalloc jemalloc-devel centos-release ncurses-compat-libs
-
一定要确保成功安装依赖包,不然后面会报错,需要用得到的 yum 源
- 使用 cmake 编译
- cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ [MySQL安装的根目录]
-DDEFAULT_CHARSET=utf8 \ [设置默认字符集为utf8]
-DDEFAULT_COLLATION=utf8_general_ci \ [设置默认字符校对]
-DENABLED_LOCAL_INFILE=1 \ [启用加载本地数据]
-DENABLE_DOWNLOADS=1 \ [编译时允许自主下载相关文件]
-DEXTRA_CHARSETS=all \ [使MySQL支持所有的扩展字符]
-DSYSCONFDIR=/etc \ [MySQL配置文件所在目录]
-DWITHOUT_TOKUDB=1 \
-DWITH_ARCHIVE_STPRAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_DEBUG=0 \ [禁用调试模式]
-DWITH_MEMORY_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_MYISAM_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_PARTITION_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_READLINE=1 \ [MySQL的readline library]
-DWITH_SSL=system \ [通讯时支持ssl协议]
-DWITH_ZLIB=system \ [允许使用zlib library]
-DWITH_LOBWRAP=0 \
-DMYSQL_DATADIR=/data/mysql \ [MySQL数据库文件存放目录]
-DMYSQL_USER=mysql \ [MySQL用户名]
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ [MySQL的通讯目录]
-DMYSQL_TCP_PORT=3306 \ [MySQL的监听端口]
-DMYSQL_MAINTAINER_MODE=0
- 编译顺利完成后开始安装,如果有报错,确定上面需要的依赖包都成功安装!
- rm -f ./CMakeCache.txt
- make && make install
- 设置环境变量
- echo "export PATH=/usr/local/mysql/bin/:$PATH" > /etc/profile.d/NMP.sh
- source /etc/profile.d/NMP.sh
- vim /etc/my.cnf
- 编辑配置文件,添加或修改以下内容
[mysqld]
basedir=/usr/local/mysql/
datadir=/data/mysql/
port=3306
socket=/tmp/mysql.sock
pid-file=/data/mysql/192_168_2_31.pid #计算机名.pid
[mysqld_safe]
log-error=/data/mysql/error.log
- cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
- 设置开机启动
- chkconfig --add mysqld
- systemctl start mysqld
- 重置 mysql 设置
- /usr/local/mysql/bin/mysql_secure_installation
- mysql -uroot -p
-
如果不想编译,可以从官网上下载编译好的文件包,相当于“绿色版”,但是注意还是要安装依赖包,不然运行会报错
- yum -y install bison zlib zlib-devel pcre pcre-devel libcurl libcurl-devel libarchive boost boost-devel gcc gcc-c++ cmake ncurses ncurses-devel gnutls gnutls-devel libxml2 libxml2-devel openssl openssl-devel libevent libevent-devel libaio libaio-devel ncurses ncurses-devel jemalloc jemalloc-devel centos-release ncurses-compat-libs
- 注意包的大小和MD5
- 解压缩到指定的文件夹,事先创建好用户、目录及赋予目录权限
- tar xf mariadb-10.5.9-linux-systemd-x86_64.tar.gz -C /usr/local/mysql/
- 查看解压缩后文件夹大小
- du -sh /usr/local/mysql/
- 进入该目录,修改权限
- 设置环境变量
- echo "export PATH=/usr/local/mysql/bin/:$PATH" > /etc/profile.d/NMP.sh
- source /etc/profile.d/NMP.sh
- exec bash
- 生成 mysql 基本库
- /usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysql --user=mysql
- chown -R mysql: /data/mysql
- 编辑配置文件,vim /etc/my.cnf
-
[mysqld]
basedir=/usr/local/mysql/
datadir=/data/mysql/
port=3306
socket=/tmp/mysql.sock[mysqld_safe]
log-error=/data/mysql/error.log - 启动 mysql
- /etc/init.d/mysqld start
- 重置 mysql 设置,这一步必须要在启动 mysql 服务后运行
- /usr/local/mysql/bin/mysql_secure_installation
- 登陆数据库
- mysql -uroot -p
- 设置开机启动
- chkconfig --add mysqld
- systemctl is-enabled mysqld
- 新建用户 ,测试 远程登陆
-
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY '123456';
flush privileges;
- 下面开始安装 PHP,从官网上下载当前最新版
- wget https://www.php.net/distributions/php-8.0.3.tar.gz
- 下载完验证下 sha256 哈希值
- 安装必要的依赖包
- yum -y install gcc automake autoconf libtool make libxml2 libxml2-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel sqlite-devel oniguruma-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel unzip zip libzip libzip-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl libcurl-devel ncurses openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel oniguruma oniguruma-devel sqlite-devel php-opcache
- mkdir /etc/php8
- ./configure \
--prefix=/usr/local/php8 --exec-prefix=/usr/local/php8 --bindir=/usr/local/php8/bin --sbindir=/usr/local/php8/sbin \
--includedir=/usr/local/php8/include --libdir=/usr/local/php8/lib/php --mandir=/usr/local/php8/php/man \
--with-config-file-path=/etc/php8 --with-config-file-scan-dir=/etc/php8 \
--with-mysql-sock=/tmp/mysql.sock --with-mysqli=shared,mysqlnd --with-mhash \
--with-openssl --with-curl --with-ldap-sasl --with-xsl --enable-mysqlnd --with-freetype --enable-gd --with-kerberos --with-libdir=lib64 \
--with-pdo-mysql --with-pdo-sqlite --with-iconv --with-zlib --with-zip -with-bz2 --enable-static --with-jpeg \
--disable-debug --disable-rpath --enable-shared --with-pear --enable-pdo --enable-cli --enable-intl --enable-calendar \
--with-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp \
--enable-pcntl --enable-sockets --enable-soap --without-pear --with-gettext --enable-session \
--enable-opcache --enable-fpm --without-gdbm --disable-fileinfo --with-fpm-user=www --with-fpm-group=www
- make && make install
-
测试php8安装是否成功:
- 设置环境变量
echo "export PATH=/usr/local/php8/bin/:$PATH" > /etc/profile.d/NMP.sh
source /etc/profile.d/NMP.sh
exec bash
- 生成php.ini配置文件:
- 生成www.conf配置文件并编辑该配置文件内容
- 生成php-fpm的配置文件
- 生成php-fpm启动文件,并启动 php
- 编辑 nginx 配置文件打开PHP支持
- 最后重启验证