版权声明:勇哥出品必属精品违者必究,相信勇哥幸福一生,不信勇哥抱憾终身,盗版一时爽全家火葬场! https://blog.csdn.net/weixin_42837637/article/details/88061551
文章目录
一、环境说明
主机说明 | ip | 系统说明 |
---|---|---|
qy-nginx | 192.168.69.130 | centos7 |
qy-mysql-php | 192.168.69.133 | centos7 |
二、安装两个脚本完成基本配置
1.在qy-nginx安装一下脚本内容
#!/bin/bash
####1.准备环境#####
setenforce 0
systemctl stop firewalld
yum -y install wget vim
####2.安装nginx软件#####
useradd -r -M -s /sbin/nologin nginx
if [ $? -eq 0 ]
then
echo ''
else
useradd -r -M -s /sbin/nologin nginx
fi
cd /usr/src/
if [ -e "/usr/src/nginx-1.12.0.tar.gz" ]
then
echo "nginx 存在"
else [ ! -e "/usr/src/nginx-1.12.0.tar.gz" ]
echo "nginx 不存在"
wget http://nginx.org/download/nginx-1.12.0.tar.gz
fi
yum -y groups mark install 'Development Tools'
yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++
mkdir -p /var/log/nginx
chown -R nginx.nginx /var/log/nginx
cd /usr/src/
tar -xf nginx-1.12.0.tar.gz
cd nginx-1.12.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 &> /dev/null
make && make install &> /dev/null
if [ $? -eq 0 ]
then
echo 'nginx安装成功'
else
echo 'nginx安装失败'
exit 1
fi
echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -v
b=$(/etc/init.d/nginx)
if [ $b -e /etc/init.d/nginx ]
then
echo 'nginx路径已经安装'
exit
else
echo 'nginx路径需要安装'
fi
cat >> /etc/init.d/nginx << EOF
#/bin/bash
case \$1 in
start)
/usr/local/nginx/sbin/nginx
if
[ $? -ne 0 ];then
echo 'start failed'
else
echo 'start success'
fi
;;
stop)
/usr/local/nginx/sbin/nginx -s stop
if
[ $? -ne 0 ];then
echo 'stop failed'
else
echo 'stop success'
fi
;;
restart)
/usr/local/nginx/sbin/nginx -s stop
/usr/bin/sleep 1
/usr/local/nginx/sbin/nginx
if
[ $? -ne 0 ];then
echo 'restart failed'
else
echo 'restart success'
fi
;;
reload)
/usr/local/nginx/sbin/nginx -s reload
if
[ $? -ne 0 ];then
echo 'reload failed'
else
echo 'reload success'
fi
;;
esac
EOF
cat > /usr/local/nginx/conf/nginx.conf <<EOF
worker_processes 1;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /var/www/;
fastcgi_pass 192.168.69.133: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;
}
#gzip on;
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
EOF
chown -R nginx.nginx /var/www/
nginx -s reload
systemctl stop firewalld
setenforce 0
chmod +x /etc/init.d/nginx
2.在qy-mysql-php安装qy-mysql-php.sh脚本内容如下
#!/bin/bash
cd /usr/src/
#wget http://cn.php.net/distributions/php-7.2.8.tar.xz
tar xf php-7.2.8.tar.xz
cd /usr/src/php-7.2.8
./configure --prefix=/usr/local/php7 \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir=/usr \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-jpeg-dir \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-bz2 \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip
make && make install &> /dev/null
if [ $? -ne 0 ];then
exit
echo "php失败"
else
echo "php成功"
fi
echo 'export PATH=/usr/local/php7/bin:$PATH' > /etc/profile.d/php7.sh
source /etc/profile.d/php7.sh
which php &> /dev/null
php -v &> /dev/null
cp php.ini-production /etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
cat >> /usr/local/php7/etc/php-fpm.conf << EOF
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
EOF
service php-fpm restart
mkdir /var/www
cat > /var/www/index.php << EOF
<?php
phpinfo();
?>
EOF
chown -R nginx.nginx /var/www
3.验证lnmp是否成功
4.安装zabbix
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
debug kernels php-7.2.8 php-7.2.8.tar.xz zabbix-4.0.4.tar.gz
[root@localhost src]# yum -y install net-snmp-devel libevent-devel
[root@localhost src]# groupadd -r zabbix
[root@localhost src]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
[root@localhost src]# tar xf zabbix-4.0.4.tar.gz
[root@localhost src]# cd zabbix-4.0.4/
[root@localhost zabbix-4.0.4]# mysql -uroot -pqinyong 建立zabbix数据库
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix123';
Query OK, 0 rows affected, 2 warnings (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
[root@localhost ~]# cd /usr/src/zabbix-4.0.4/database/mysql/
[root@localhost mysql]# ls
data.sql images.sql Makefile.am Makefile.in schema.sql
[root@localhost mysql]# mysql -uzabbix -pzabbix123 zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@localhost mysql]# mysql -uzabbix -pzabbix123 zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@localhost mysql]# mysql -uzabbix -pzabbix123 zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@localhost mysql]# cd /usr/src/zabbix-4.0.4/
[root@localhost zabbix-4.0.4]# ./configure --enable-server \
> --enable-agent \
> --with-mysql \
> --with-net-snmp \
> --with-libcurl \
> --with-libxml2
[root@localhost zabbix-4.0.4]# make && make install
[root@localhost ~]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@localhost ~]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@localhost ~]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
[root@localhost ~]# sed -i 's/(max_input_time=)*/\1 300/g' /etc/php.ini
[root@localhost ~]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@localhost ~]# yum -y install nfs-utils
[root@localhost zabbix-4.0.4]# systemctl start nfs-server
[root@localhost zabbix-4.0.4]# systemctl enable nfs-server
[root@localhost zabbix-4.0.4]# cp -a frontends/php/* /var/www/
cp:是否覆盖"/var/www/index.php"? Y
[root@localhost zabbix-4.0.4]# chmod 777 /var/www/conf
[root@localhost zabbix-4.0.4]# cat /etc/exports
/var/www 192.168.69.130(insecure,rw,no_root_squash)
[root@localhost zabbix-4.0.4]# systemctl restart nfs-server
在192.168.69.130修改
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
alias /var/www;
fastcgi_pass 192.168.69.133:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}
[root@localhost ~]# yum -y install showmount
[root@localhost ~]# showmount -e 192.168.69.133
Export list for 192.168.69.133:
[root@localhost ~]# mount -t nfs 192.168.69.133:/var/www/ /usr/local/nginx/html
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 1.5G 16G 9% /
devtmpfs 899M 0 899M 0% /dev
tmpfs 911M 0 911M 0% /dev/shm
tmpfs 911M 9.5M 902M 2% /run
tmpfs 911M 0 911M 0% /sys/fs/cgroup
/dev/sda1 1014M 142M 873M 14% /boot
tmpfs 183M 0 183M 0% /run/user/0
192.168.69.133:/var/www 17G 9.9G 7.2G 58% /usr/local/nginx/html
[root@localhost ~]# vim /etc/fstab
192.168.69.133:/var/www /usr/local/nginx/html nfs defaults,_netdev 0 0
[root@localhost ~]# systemctl stop firewalld
5.验证zabbix界面是否能登陆