LNMP环境部署及zabbix服务器端安装

一、LNMP环境部署

1、配置epel源

建议在系统安装完成之后就配置epel源,方便一些软件包的安装:

wget http://mirrors.ustc.edu.cn/centos/6/extras/x86_64/Packages/epel-release-6-8.noarch.rpmrpm -ivhepel-release-6-8.noarch.rpm 

2、nginx安装

(1)安装支持软件

Nginx、mysql、php的配置及运行需要pcre、zlib、openssl等软件包的支持,因此应预先安装这些软件,以便提供相应的库和头文件,确保Nginx的安装顺利完成:

yum -y installpcre-devel zlib zlib-devel gcc gcc-c++ glibc make cmake bison autoconflibjpeg-turbo libjpeg-turbo-devel libpng libpng-devel freetype freetype-devellibxml2 libxml2-devel libcurl libcurl-devel openssl openssl-devel

(2)创建运行的用户

为了方便管理nginx,一般为它创建专门的用户:

useradd -M -s/sbin/nologin www

(3)安装pcre

下载链接:

wget https://sourceforge.net/projects/pcre/files/pcre/8.38/pcre-8.38.tar.gz

编译安装:

./configure--prefix=/usr/local/pcre-8.38 && make && make install

(4)安装nginx

下载链接:

wget http://124.205.69.171/files/8095000002FE839E/nginx.org/download/nginx-1.8.1.tar.gz

编译安装:

./configure--prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module--with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.38/ &&make && make install

(5)安装后配置

为nginx主程序创建链接,方便启动、管理nginx:

ln -s/usr/local/nginx/sbin/nginx /usr/local/sbin/

(6)nginx测试、启动

在生产环境中,每次修改完nginx的配置文件先执行/usr/local/nginx/sbin/nginx -t检查配置文件中是否有语法错误。

nginx启动:

/usr/local/nginx/sbin/nginx

nginx重新加载配置文件:

/usr/local/nginx/sbin/nginx -s reload

3、数据库安装

使用的是5.5版本mysql

(1)安装ncurses

下载链接:

wget ftp://invisible-island.net/ncurses/ncurses.tar.gz

编译前先用yum安装ncurses-devel。

编译安装:

./configure--with-shared --without-debug --without-ada --enable-overwrite && make&& make install

(2)mysql安装

创建mysql用户:

useradd -M -s/sbin/nologin mysql

编译安装:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql-DMYSQL_TCP_PORT=3306 && make && make install

(3)安装后配置

cd /usr/local/mysql/
chown -R root .
chown -R mysql data/
cpsupport-files/my-medium.cnf /etc/my.cnf

初始话数据库:

/usr/local/mysql/scripts/mysql_install_db--user=mysql

将数据库放在后台运行:

/usr/local/mysql/bin/mysqld_safe--user=mysql &

启动数据库:

/usr/local/mysql/bin/mysql

4、php安装

(1)下载链接:

wget http://cn2.php.net/distributions/php-5.5.37.tar.gz

编译安装:

./configure--prefix=/usr/local/php-fastcgi --with-mysql --with-jpeg-dir --with-png-dir--with-zlib --enable-xml --with-libxml-dir --with-curl --enable-bcmath--enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --with-openssl--enable-mbstring --with-gd --enable-gd-native-ttf --enable-sockets--with-xmlrpc --enable-zip --enable-soap --disable-debug --enable-opcache--enable-zip --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php-fastcgi/etc--enable-fpm --with-fpm-user=www --with-fpm-group=www--with-freetype-dir=/usr/lib64 && make && make install

安装后配置:

cp php.ini-development /usr/local/php-fastcgi/etc/php.ini
ln -s /usr/local/php-fastcgi/bin/*/usr/local/bin
ln -s /usr/local/php-fastcgi/sbin/*/usr/local/sbin

(2)安装mysql模块

cd/usr/local/src/php-5.5.37/ext/pdo_mysql/ &&/usr/local/php-fastcgi/bin/phpize && ./configure--with-php-config=/usr/local/php-fastcgi/bin/php-config &&  make && make install

(3)配置nginx支持php环境

cd /usr/local/php-fastcgi/etc/
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
25 pid = run/php-fpm.pid
149 user = www
150 group = www
230 pm.max_children = 50
235 pm.start_servers = 20
240 pm.min_spare_servers = 5
245 pm.max_spare_servers = 35
启动php-fpm:/usr/local/sbin/php-fpm

修改nginx配置文件

45         index  index.html index.htm index.php;
65         location ~ \.php$ {
66            root           html;
67            fastcgi_pass   127.0.0.1:9000;
68            fastcgi_index  index.php;
69            include        fastcgi.conf;
70         }

重新加载nginx配置文件:

/usr/local/nginx/sbin/nginx-t
/usr/local/nginx/sbin/nginx-s reload

二、测试

1、切换到nginx的网页主目录下:

cd /usr/local/nginx/html

在这个目录下新建两个测试页:

vi test.php

<?php
  phpinfo();
?>
vi index.php

<?php
$link=mysql_connect(‘localhost‘,‘root‘,‘‘);
if($link) echo "success!!!"
mysql_close();
?>

2、使用浏览器访问两个测试页,访问是否正常?

到此,LNMP环境部署完成!





三、zabbix安装

(1)下载链接:

wget http://heanet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.13/zabbix-2.2.13.tar.gz

(2)安装依赖包:

yum installmysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmathphp-mbstring php-xml

(3)为zabbix创建数据库并授权:

mysql> create database zabbix character set utf8;
mysql> grant allprivileges on zabbix.* to ‘zabbix_user‘@‘192.168.199.79‘ identified by ‘123456‘;

(4)创建zabbix用户:

useradd -M -s/sbin/nologin zabbix

(5)查看/etc/services/确认zabbix服务端口

10079 zabbix-agent    10050/tcp               # Zabbix Agent
10080 zabbix-agent    10050/udp               # Zabbix Agent
10081 zabbix-trapper  10051/tcp               # Zabbix Trapper
10082 zabbix-trapper  10051/udp               # Zabbix Trapper

(6)编译安装:

./configure--prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl--enable-server --enable-agent --enable-proxy && make && makeinstall

(7)导入数据库:

cd /usr/local/src/zabbix-2.2.13/database/mysql/
mysql -uroot zabbix < schema.sql
mysql -uroot zabbix < images.sql
mysql -uroot zabbix < data.sql

因为我一直没有设定数据库的root密码,所以在导入时也没有指定密码。

(8)配置

习惯上创建/etc/zabbix目录,将zabbix配置文件拷贝到该目录中单独进行管理:

mkdir -p /etc/zabbix
cp -r /usr/local/src/zabbix-2.2.13/conf/* /etc/zabbix/
chown -R zabbix:zabbix/etc/zabbix/

①修改server配置文件:

vi /etc/zabbix/zabbix_server.conf

39 LogFile=/tmp/zabbix_server.log
68 PidFile=/tmp/zabbix_server.pid
77 DBHost=192.168.199.79
87 DBName=zabbix
103 DBUser=zabbix_user
111 DBPassword=123456

这些信息要跟在mysql中授权的信息一致。

②修改agent配置文件:

vi /etc/zabbix/zabbix_agentd.conf

11 PidFile=/tmp/zabbix_agentd.pid
21 LogFile=/tmp/zabbix_agentd.log
81 Server=192.168.199.79
133 Hostname=Zabbix client1      #自定义主机名,添加监控时要用到

③拷贝zabbix网页文件:

cp -r /usr/local/src/zabbix-2.2.13/frontends/php/  /usr/local/nginx/html/zabbix
chown -R zabbix:zabbix/usr/local/nginx/html/zabbix/

④修改php.ini配置:

vi /usr/local/php-fastcgi/etc/php.ini

372 max_execution_time = 300
382 max_input_time = 300
393 memory_limit = 128M
660 post_max_size = 32M
910 date.timezone = Asia/Shanghai
1742 mbstring.func_overload = 2

这些参数是zabbix所必需的,否则在安装zabbix的web页面时会报错。修改之后重新启动php-fpm。

(9)启动zabbix:

/usr/local/zabbix/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf

-c 选项指定使用的zabbix_server配置文件,修改了哪个就用哪个。

四、安装zabbix的web页面

因为在nginx中定义的网站根路径在/usr/local/nginx/html/目录下,所以在浏览器上访问时要指定zabbix目录:192.168.199.79/zabbix

1、初次登录会看到下面的页面:

2、直接“next”下一步,会检查所有的依赖,这里出现了一个warning,如下图:

这个warning对于zabbix安装不会产生影响,但是有错误不解决总感觉……

这里需要安装php的gettext模块,有两种方法:

一种是重新编译php加上--with-gettext选项,但是编译php的时间比较长……

第二种方法:

cd /usr/local/src/php-5.5.37/ext/

这个目录下包含了所有的php模块,找到gettext目录,进入到目录里,执行:

/usr/local/php-fastcgi/bin/phpize&& ./configure --with-php-config=/usr/local/php-fastcgi/bin/php-config&& make && make install

php的所有模块都可以使用这种方式安装。装完之后要在php.ini文件里添加一行:

 extension=gettext.so

之后重启php-fpm,刷新安装页面。嗯,这样就完美了。

3、继续“next”,问题又来了。

在“Database type”这一栏好像只能选择“SQLite3”,没有mysql。因为在编译php时没有指定--with-mysqli=/usr/local/mysql/bin/mysql_config。这时进入php解压之后的目录,执行:

./configure --with-mysqli=/usr/local/mysql/bin/mysql_config && make && make install

有时候直接这样编译会出错,需要先执行一下make clean。

/usr/local/php-fastcgi/bin/php -m查看所有已经安装的php扩展。

4、安装之后刷新页面,嗯……mysql出来了。

这里有个问题需要注意,如果你在数据库中授权时指定的host是localhost,那么这里的Database host就应该是localhost,否则就要写明ip地址,在zabbix_server配置文件中也是要一致的,建议授权时指定ip地址。

5、继续“next”下一步。

这里要指明zabbix server的ip地址。就是在zabbix_agentd.conf中要指定的server。

6、继续“next”下一步。

7、再下一步。

查看提示的路径下内容:

可以发现这个目录下不存在需要的文件,执行下面命令:

cd /usr/local/nginx/html/zabbix/conf/
cp zabbix.conf.php.example zabbix.conf.php
vi zabbix.conf.php

      1 <?php
      2 // Zabbix GUIconfiguration file
      3 global $DB;
      4
      5$DB["TYPE"]                             = ‘MYSQL‘;
      6$DB["SERVER"]                  = ‘192.168.199.79‘;
      7$DB["PORT"]                             = ‘0‘;
      8$DB["DATABASE"]                = ‘zabbix‘;
      9$DB["USER"]                             = ‘zabbix_user‘;
     10$DB["PASSWORD"]                 = ‘123456‘;
     11 // SCHEMA is relevantonly for IBM_DB2 database
     12$DB["SCHEMA"]                  = ‘‘;
     13
     14 $ZBX_SERVER                             =‘192.168.199.79‘;
     15 $ZBX_SERVER_PORT                = ‘10051‘;
     16 $ZBX_SERVER_NAME                = ‘‘;
     17
     18$IMAGE_FORMAT_DEFAULT   =IMAGE_FORMAT_PNG;
     19 ?>

这个文件中填写的内容。要跟第三步、第四步的信息一致。改完之后retry,如下图:

“OK”可以结束了。zabbix安装之后默认的用户名是admin,密码是zabbix。

8、登录之后可能不如想象中那么完美:“Zabbix server is not running:the information displayed may not becurrent”。

导致这种问题的原因我知道的有以下几个:

①zabbix_server.conf中的配置跟/usr/local/nginx/html/zabbix/conf/zabbix.conf.php中的配置不一致。

②防火墙跟selinux的影响。

③数据库授权时指定的主机是localhost还是ip地址?

到此,zabbix服务器端的配置告一段落,之后会有客户端的配置,跟一些常用的监控项。





本文出自 “宁静” 博客,请务必保留此出处http://zhen0522.blog.51cto.com/11834939/1825803

时间: 2024-12-28 00:34:54

LNMP环境部署及zabbix服务器端安装的相关文章

LNMP环境部署之---PHP编译安装。

前两篇文章是讲关于Nginx和MySQL的编译安装,接下来要完成三个软件中最难的一个环节,当然这只是对还没入门的同学说的.安装过一遍后知道技巧后,自然就好简单了,废话不说,直入正题. 1)检查确认Nginx及MySQL的安装路径: [[email protected] ~]# ls -ld /application/ drwxr-xr-x 4 root root 4096 12月  9 07:52 /application/ [[email protected] ~]# ls -ld /appl

Centos7.X LNMP环境部署(非源码)

1.下载新的CentOS-Base.repo #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 2.安装Nginx YUM源中没有Nginx,我们需要增加一个nginx的源nginx.repo vi /etc/yum.repos.d/nginx.repo [nginx]name=nginx repobaseurl=http://nginx.org/packages/cen

Lnmp一键部署脚本(包含模块安装,php7,openresty+缓存等)

Lnmp一键部署脚本 个人gitpage:https://owelinux.github.io/ #!/bin/bash ##DATE:2016-7-25 ##USER:owelinux ###install wallet #######install mysql################################################## yum -y install cmake ncurses-devel bison libaio make gcc gcc-c++ mk

Linux学习总结(三十九)lnmp环境搭建1-mysql,php 安装

之前我们介绍过lamp,lnmp和lamp相比就是把apache换为了nginx,nginx也是目前比较流行的一款web server,在处理高并发请求上,性能要远胜于apache.apache将php作为一个自己的一个扩展模块来使用,nginx则结合一个独立的php服务.1.安装mysql cd /usr/local/src wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.g

搭建LNMP环境(基于最小化安装CentOS 6.5)

本文档主要说明在单台服务器上手动安装LNMP环境的操作步骤,本文档使用的系统版本可能与您的实际使用版本不同,您可以根据实际情况选择相应版本. 一.本文档LNMP环境版本说明: OS:最小化安装CentOS 6.5 Nginx:nginx-1.10.2.tar.gz MySQL:mysql-5.6.24.tar.gz PHP:php-5.6.23.tar.bz2 二.搭建LNMP环境基本步骤 1. 准备编译环境 2. 安装nginx 3. 安装mysql 4. 安装php-fpm 5. 测试访问

docker中lnmp环境部署laravel框架

yum install docker     安装docker service docker start   启动docker docker pull  docker.io/skiychan/nginx-php  下载这个镜像 docker images  查看镜像 docker run --name "自定义名字" -p 8086:80 -p 9100:9100 -p 9101:9101 -p 9102:9102 -p 9103:9103 -it --privileged  镜像ID

LNMP环境部署

1 安装nginx 1.1 安装nginx相关包 yum install -y http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install -y nginx 1.2 创建项目目录 mkdir -p /var/www/www.cmdschool.org 1.3 配置http和https服务 http config: cp /etc/nginx/conf.

部署基于python的web发布环境(第三篇):环境部署4:centos7安装uwsgi、发布网站

一.业务逻辑图 二.安装uwsgi uwsgi是服务器和服务端应用程序的通信协议,规定了怎么把请求转发给应用程序和返回. uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. nginx 和 uWSGI交互就必须使用同一个协议,而上面说了uwsgi支持fastcgi.uwsgi.http协议,这些都是nginx支持的协议,只要大家沟通好使用哪个协议,就可以正常运行了. 注意安装uwsgi不需

LNMP与Zabbix4.0 环境部署

LNMP+Zabbix4.0 环境部署 环境 关闭防火墙,Selinux systemctl stop firewalld sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0 服务端 LNMP环境所需要的安装包如下.主要以rpm包为主.不是源码安装 [[email protected] ~]# rpm -qa | grep nginx nginx-1.16.0-1.el7.ngx.x86