主机名 | IP地址 | 应用 | 系统版本 |
---|---|---|---|
nginx | 192.168.110.30 | nginx | redhat 8 |
mysql | 192.168.110.40 | mysql | redhat 8 |
php | 192.168.110.50 | php | redhat 8 |
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
sed -i -e ‘/mirrors.cloud.aliyuncs.com/d‘ -e ‘/mirrors.aliyuncs.com/d‘ /etc/yum.repos.d/CentOS-Base.repo
sed -i ‘s|$releasever|8|‘ /etc/yum.repos.d/CentOS-Base.repo
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i ‘s|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|‘ /etc/yum.repos.d/epel*
sed -i ‘s|^metalink|#metalink|‘ /etc/yum.repos.d/epel*
sed -i ‘s|$releasever|8|‘ /etc/yum.repos.d/epel*
systemctl disable --now firewalld
setenforce 0
sed -ri ‘s/^(SELINUX=).*/\1disabled/g‘ /etc/selinux/config
//nginx
wget http://nginx.org/download/nginx-1.20.0.tar.gz
//mysql
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
//创建nginx用户
[root@nginx ~]# useradd -r -M -s /sbin/nologin nginx
[root@nginx ~]# id nginx
uid=994(nginx) gid=991(nginx) groups=991(nginx)
//安装工具包和依赖包
[root@nginx ~]# yum -y install vim pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ make
[root@nginx ~]# yum -y groups mark install ‘Development tools‘
//创建日志存放目录
[root@nginx ~]# mkdir -p /var/log/nginx
[root@nginx ~]# chown -R nginx.nginx /var/log/nginx
//解压源码包
[root@nginx]# tar xf nginx-1.20.0.tar.gz
[root@nginx ~]# ls
anaconda-ks.cfg nginx-1.20.0 nginx-1.20.0.tar.gz
//编译安装
[root@nginx]# cd nginx-1.20.0
[root@nginx nginx-1.20.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log
//启用多核心加速安装
[root@nginx nginx-1.20.0]# make -j $(grep ‘processor‘ /proc/cpuinfo | wc -l) && make install
//添加环境变量
[root@nginx nginx-1.20.0]# echo ‘export PATH=/usr/local/nginx/sbin:$PATH‘ > /etc/profile.d/nginx.sh
[root@nginx nginx-1.20.0]# source /etc/profile.d/nginx.sh
[root@nginx nginx-1.20.0]# which nginx
/usr/local/nginx/sbin/nginx
//修改配置文件
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
#添加index.php
index index.php index.html index.htm;
}
location ~ \.php$ {
# 设置监听端口
fastcgi_pass 192.168.110.50:9000;
# 设置nginx的默认首页文件
fastcgi_index index.php;
# 设置脚本文件请求的路径
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; 将$scripts修改为php根网站目录
#引入fastcgi的配置文件
include fastcgi_params;
}
//创建ndex.php
[root@nginx ~]# cat > /usr/local/nginx/html/index.php <<EOF
> <?php
> phpinfo();
> ?>
> EOF
//启动服务
[root@nginx ~]# nginx
//安装依赖包
[root@mysql ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs
//创建mysql用户
[root@mysql ~]# useradd -r -M -s /sbin/nologin mysql
[root@mysql ~]# id mysql
uid=994(mysql) gid=991(mysql) groups=991(mysql)
//解压mysql源码包到/usr/local
[root@mysql ~]# tar xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@mysql ~]# ls /usr/local/
bin games lib libexec sbin src
etc include lib64 mysql-5.7.31-linux-glibc2.12-x86_64 share
//设置软链接并修改属主和属组
[root@mysql ~]# ln -s /usr/local/mysql-5.7.31-linux-glibc2.12-x86_64 /usr/local/mysql
[root@mysql ~]# chown -R mysql.mysql /usr/local/mysql*
//添加环境变量
[root@mysql ~]# echo ‘export PATH=/usr/local/mysql/bin:$PATH‘ > /etc/profile.d/mysql.sh
[root@mysql ~]# source /etc/profile.d/mysql.sh
[root@mysql ~]# which mysql
/usr/local/mysql/bin/mysql
//建立数据存放目录
[root@mysql ~]# mkdir /opt/data
[root@mysql ~]# chown -R mysql.mysql /opt/data
[root@mysql ~]# ll /opt/
total 0
drwxr-xr-x. 2 mysql mysql 6 May 30 7:38 data
//初始化数据库
[root@mysql ~]# mysqld --initialize --user=mysql --datadir=/opt/data
...以上省略n行....
root@localhost: srNd(m1cEf1d
//把这个生成的临时密码写到a文件中,方便等下查看
[root@mysql ~]# echo ‘srNd(m1cEf1d‘ > a
[root@mysql ~]# cat a
srNd(m1cEf1d
//编辑/etc/my.cnf
[root@mysql ~]# vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve
//配置启动脚本
[root@mysql ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@mysql ~]# vim /etc/init.d/mysqld
# overwritten by settings in the MySQL configuration files.
basedir=/usr/local/mysql
datadir=/opt/data
//启动
[root@mysql local]# service mysqld start
//安装开发工具包
[root@php ~]# yum -y groups mark install ‘Development Tools‘
//安装依赖包
[root@php ~]# yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libicu-devel libjpeg libjpeg-devel libpng libpng-devel openldap-devel pcre-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel mhash mhash-devel php-mysqlnd
//安装php
[root@php ~]# yum -y install php-*
[root@php]# vim /etc/php-fpm.d/www.conf
......................
;listen = /run/php-fpm/www.sock #注释此行
listen = 0.0.0.0:9000 #添加监听端口
...........................
...........................
; must be separated by a comma. If this value is left blank, connections will be
; accepted from any ip address.
; Default Value: any
listen.allowed_clients = 192.168.110.30 #nginx主机的ip
[root@php]# cat /var/www/html/index.php
<?php
phpinfo();
?>
[root@php]# chown -R nginx.nginx /var/www/html/
[root@php]# systemctl start php-fpm
//启动php
[root@php ~]# systemctl start php-fpm
原文:https://www.cnblogs.com/leixixi/p/14829849.html