LNMP安装教程

7 篇文章 0 订阅

Linux配置

安装wget

wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的TCP/IP协议下载,并可以可以使用HTTP代理。

sudo yum install wget

最小化安装CentOS7时无法使用ifconfig命令

需要安装: net-tools

sudo yum install net-tools

更新yum源

yum -y update

安装vim

vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器。在Vi的基础上改进和增加了很多特性。

sudo yum install vim

配置显示行号:

vi ~/.vimrc
输入: set nu 后退出保存

安装Nginx

安装依赖

(1) 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装gcc-c++
(2) PCRE是一个Perl库,中文”Perl兼容的正则表达式库”。安装Nginx是为了使Nginx支持具备URI重写功能的rewrite模块,如果不安装pcre库,则Nginx无法使用rewrite模块功能,Nginx的Rewrite模块功能几乎是企业应用必须。
(3) zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
(4) OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要安装 OpenSSL 库

yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel

说明: yum安装方式安装的pcre版本比较低,不过基本不影响使用

检查基础依赖包是否安装成功

rpm -qa pcre pcre-devel
rpm -qa zlib zlib-devel
rpm -qa openssl openssl-devel
rpm -qa pcre pcre-devel

家目录下创建一个目录,存放下载的软件包

cd ~
mkdir package

下载软件包并安装

cd package  #切换到软件包目录
wget https://nginx.org/download/nginx-1.14.0.tar.gz   #下载nginx源码包
useradd nginx -s /sbin/nologin -M   #创建nginx用户用于管理nginx程序
tar zxvf nginx-1.14.0.tar.gz  #解压nginx源码包
cd nginx-1.14.0
#预编译
./configure \
--user=nginx \
--group=nginx \
--prefix=/application/nginx-1.14.0/ \
--with-http_stub_status_module \
--with-http_ssl_module
make #编译
make install #安装

ln -s /application/nginx-1.14.0 /application/nginx  #创建nginx的软链接

配置环境变量

vi /etc/profile
export PATH="/application/nginx/sbin:$PATH"
source /etc/profile

开机自动启动

vi /etc/rc.local

/application/nginx/sbin/nginx &

软件安装说明

编译Nginx软件时,可以使用configure–help查看相关帮助。下面是本次编译时指定的参数及简单说明:

--prefix=PATH    #设置安装路劲
--user=USER      #进程用户权限
--group=GROUP    #进程用户组权限
--with-http_stub_status_module   #激活状态信息
--with-http_ssl_module  #激活ssl功能

启动并检查安装结果

安装完Nginx后,并不能直接对外提供服务,需要先启动Nginx服务才行,具体操作如下。

/application/nginx/sbin/nginx -t

启动Nginx服务

/application/nginx/sbin/nginx  #启动
/application/nginx/sbin/nginx -s stop  #立即停止
/application/nginx/sbin/nginx -s quit  #平滑停止
/application/nginx/sbin/nginx -s reload #重载配置
/application/nginx/sbin/nginx -s reopen #重开日志

查看Nginx服务对应的端口是否成功启动

sudo yum install lsof
lsof -i :80

关闭防火墙,便于测试

CentOS6:
service iptables stop   临时关闭
chkconfig --level 2345 iptables off 永久关闭

CentOS7:
systemctl stop firewalld.service  #令关闭防火墙
systemctl disable firewalld.service  #关闭防火墙开机自启动
通过浏览器输入IP测试成功

安装MySQL

mysql编译安装教程文章

http://www.runoob.com/linux/mysql-install-setup.html

安装依赖

(1)cmake是新版MySQL的编译工具

sudo yum install gcc gcc-c++ cmake ncurses-devel perl perl-devel autoconf

添加mysql用户

useradd -s /sbin/nologin -M mysql

安装MySQL

tar zxvf mysql-5.6.40.tar.gz
cd mysql-5.6.40

cmake -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock \
-DMYSQL_DATADIR=/application/mysql-5.6.40/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_INNODB_MEMCACHED=1 \
-DWITH_DEBUG=OFF \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_PROFILING=ON \
-DMYSQL_MAINTAINER_MODE=OFF \
-DMYSQL_TCP_PORT=3306

make

make install 

修改权限

cd /application/mysql-5.6.40
chown mysql.mysql /application/mysql-5.6.40/data
mkdir tmp
chown mysql.mysql /application/mysql-5.6.40/tmp
rm -f /etc/my.cnf
cp support-files/my-default.cnf /etc/my.cnf
scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql

加入守护进程

cd /application
ln -s mysql-5.6.40 mysql
cd /application/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld 

配置环境变量

vi /etc/profile
export PATH="/application/mysql/bin"
source /etc/profile

启动MySQL

service mysqld start
mysql -u root -p #第一次登陆不需要密码,回车即可
set password for root@localhost = password('root');  #修改密码

安装PHP

安装依赖

sudo yum install gcc gcc-c++ zip unzip libxml2 libxml2-devel curl-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel gd-devel bzip2 bzip2-devel

安装PHP

cd ~/package
wget http://cn2.php.net/get/php-7.2.6.tar.gz/from/this/mirror
mv mirror php-7.2.6.tar.gz
tar zxvf php-7.2.6.tar.gz
cd  php-7.2.6
./configure --prefix=/application/php-7.2.6 \
--with-zlib \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-mysql-sock=/application/mysql/tmp/mysql.sock \
--with-gd \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-openssl \
--with-curl \
--enable-mbstring \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-static \
--enable-zip \
--enable-sockets \
--enable-xml \
--enable-fpm

make 
make install 
cd /application

ln -s php-7.2.6 php
 cp  /root/package/php-7.2.6/php.ini-development /application/php-7.2.6/lib/php.ini
 date.timezone = PRC  (大约在932行)

cd php 
cp etc/php-fpm.conf.default etc/php-fpm.conf

cd /application/php/etc/php-fpm.d/
cp www.conf.default www.conf
cd /application/php
sbin/php-fpm
ps -e | grep php-fpm

如果在编译PHP时指定了--with-mysql=mysqlnd和--with-pdo-mysql=mysqlnd的参数,那么在生产中可能会遇到socket连接问题,解决办法是在php.ini里加入命令: pdo_mysql.default_socket=/application/mysql/tmp/mysql.sock

最好是在编译PHP的时候,指定mysql.socket的位置:
--with-mysql-sock=/application/mysql/tmp/mysql.sock

开机自动启动

vi /etc/rc.local

/application/php/sbin/php-fpm &

配置Nginx和PHP7的关联

nginx.conf配置

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    use epoll;
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #隐藏Nginx软件版本号
    server_tokens off;

    #激活tcp_nodelay功能,提高I/O性能
    tcp_nodelay on;

    # 设置读取客户端请求头数据的超时时间。此处的数值为15,其单位是秒,为经验参考值
    client_header_timeout 15;

    # 设置读取客户端请求体的超时时间
    client_body_timeout 15;

    # 指定响应客户端的超时时间
    send_timeout 25;

    # 上传文件大小限制
    client_max_body_size 8m;

    #压缩配置
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types text/css text/xml application/javascript;
    gzip_vary on;
    #include extra/gzip.config;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    include extra/*.conf;
}
server {
     listen       80;
     server_name  www.nginx.com;
     root html/blog/public;
     #access_log  logs/host.access.log  main;

     location / {
        index  index.php index.html index.htm;
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php/$1 last;
        }
     }

     #error_page  404              /404.html;

     # redirect server error pages to the static page /50x.html
     #
     error_page   500 502 503 504  /50x.html;
     location = /50x.html {
        root   html;
     }

     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     #
     location ~ \.php {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
     }
}
# 开启gzip压缩功能
gzip on;

# 设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取。默认是0,表示不管页面多大都进行压缩。建议设置成1K,如果小于1K可能会越压越大。
gzip_min_length 1k;

# 压缩缓冲区大小。表示申请4个单位为32k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存来存储gzip压缩结果
gzip_buffers 4 32k;

# 压缩版本(默认1.1,前端为squid2.5时使用1.0),用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可
gzip_http_version 1.1;

# 压缩比率。用来指定gzip压缩比,1压缩比最小,处理速度最快; 9压缩比最大,传输速度快,但处理最慢,也比较消耗CPU资源。
gzip_comp_level 2;

# 指定压缩类型
gzip_types text/css text/xml application/javascript;

# header支持。该选项可以让前端的缓存服务器缓存经过gzip压缩的页面,例如用Squid缓存经过Nginx压缩的数据
gzip_vary on;

redis安装

安装依赖

sudo yum install gcc gcc-c++

安装redis

tar zxvf redis-4.0.9.tar.gz
cd redis-4.0.9
make

mkdir /application/redis
mkdir /application/redis/bin
mkdir /application/redis/etc

cp src/redis-server src/redis-cli src/redis-benchmark src/redis-check-aof src/redis-sentinel /application/redis/bin/
cp redis.conf /application/redis/etc/

配置环境变量:

vi /etc/profile

export PATH="$PATH:/application/redis/bin"
source /etc/profile

开启redis服务

cd /application/redis
bin/redis-server etc/redis.conf

关闭redis

kill `cat /var/run/redis_6379.pid`

设置后台运行

vi /application/redis/etc/redis.conf
136行 daemonize yes

将启动脚本写在rc.local(linux)

vi /etc/rc.local
/application/redis/bin/redis-server /application/redis/etc/redis.conf &

redis扩展安装

sudo yum install autoconf

redis扩展安装

cd /root/package/
wget https://pecl.php.net/get/redis-4.0.2.tgz
tar zxvf redis-4.0.2.tgz
cd redis-4.0.2
/application/php/bin/phpize
./configure  --with-php-config=/application/php/bin/php-config && make && make install

修改php.ini

vi /application/php/lib/php.ini
extension=redis.so(大约920行)

CentOS7 开机/etc/rc.local不执行问题

chmod +x /etc/rc.d/rc.local
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装 Zabbix 前需要确保已经安装LNMP 环境。如果你还没有安装 LNMP,可以参考以下文章进行安装LNMP 安装教程:https://blog.csdn.net/qq_34827705/article/details/79450480 接下来,开始安装 Zabbix: 1. 下载 Zabbix 安装包 进入 Zabbix 官网下载页面,选择需要的版本并下载:https://www.zabbix.com/download 2. 解压安装包 将下载好的安装包上传到服务器上,使用 tar 命令解压缩: ``` tar zxvf zabbix-xxx.tar.gz -C /usr/local/src ``` 3. 配置 Zabbix 服务端 进入解压后的 zabbix 目录,进入到 server 子目录,执行 configure 命令生成 Makefile 文件: ``` cd /usr/local/src/zabbix-xxx cd server ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl ``` 执行 make 命令编译: ``` make && make install ``` 4. 配置 Zabbix 数据库 进入到 Zabbix 数据库文件夹,执行以下命令: ``` cd /usr/local/src/zabbix-xxx/database/mysql mysql -u root -p ``` 输入密码进入 MySQL 控制台,创建 Zabbix 数据库和用户: ``` CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; QUIT; ``` 5. 导入 Zabbix 数据库结构 进入到 Zabbix 数据库文件夹,执行以下命令: ``` cd /usr/local/src/zabbix-xxx/database/mysql mysql -u zabbix -p zabbix < schema.sql mysql -u zabbix -p zabbix < images.sql mysql -u zabbix -p zabbix < data.sql ``` 6. 配置 Zabbix Web 界面 进入 Zabbix 解压后的根目录,进入到 frontends/php 目录,将配置文件模板复制一份并重命名为 zabbix.conf.php: ``` cd /usr/local/src/zabbix-xxx/frontends/php cp conf/zabbix.conf.php.example conf/zabbix.conf.php ``` 打开 zabbix.conf.php 文件,修改以下内容: ``` $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '3306'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = 'password'; ``` 7. 配置 Nginx 在 Nginx 的配置文件中添加以下内容: ``` server { listen 80; server_name zabbix.example.com; root /usr/local/src/zabbix-xxx/frontends/php; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } ``` 修改 server_name 为你的域名或 IP 地址。 8. 启动 Zabbix 服务 启动 Zabbix 服务: ``` /usr/local/zabbix/sbin/zabbix_server ``` 启动 Zabbix Web 界面: ``` /usr/local/zabbix/sbin/zabbix_agentd ``` 9. 访问 Zabbix 在浏览器中访问 Zabbix Web 界面:http://zabbix.example.com 输入默认用户名和密码:Admin/zabbix,即可进入 Zabbix 系统。 以上就是 LNMP 安装 Zabbix 的过程,希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值