centos7编译安装nginx1.13.5

废话不多说,先来操作命令

sudo yum install gcc
wget http://nginx.org/download/nginx-1.13.5.tar.gz
tar zxvf nginx-1.13.5
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.39.tar.bz2
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar zxvf openssl-1.1.0f.tar.gz
tar jxvf pcre-8.39.tar.bz2
tar zxvf zlib-1.2.11.tar.gz
cd nginx-1.13.5
./configure --prefix=/usr/local/nginx --with-openssl=../openssl-1.1.0f --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.11
make
make install

ps:最好不要在中文路径下,权限问题自行解决或者参考我其他文章


下载nginx,解压,进入目录
预编译,提示缺少gcc,yum安装
遇到一个问题,我是用普通用户进入系统的,sudo都不能使用,百度了一下,找到解决方法http://jingyan.baidu.com/article/49ad8bce77a0365834d8fa95.html
然后就是安装gcc,继续编译,提示缺少c++编译器,yum 安装,然后编译
提示缺少pcre,下载,编译安装
继续编译,提示缺少zlib,下载,编译安装。
然后预编译成功,但是问题来了,竟然不能make。去网上百度了一下,找到问题所在
http://kexiaoke.blog.51cto.com/5530023/1375299
pcre依赖路径需要源码解压位置,同理,zlib也是,而不是安装位置,修改,继续预编译。
编译,安装,顺利完成,启动就不说了。
所以整理下,防止弯路
su
visudo
yum install gcc gcc-c++(有的话就跳过此步,多次安装经验最好用绝对路径)
./configure –prefix=/usr/local/nginx –with-pcre=/home/user/download/pcre –with-zlib=/home/user/download/zlib –with-openssl=/home/user/download/openssl
make
make install
好了,结束。ps:pcre和zlib都是源码解压位置,根据自己的路径修改。

<think>嗯,用户想在CentOS 7上通过源码编译安装Nginx和Zabbix 6。我需要先理清楚安装的步骤,确保每个环节都正确无误。首先,我应该回忆一下源码编译安装的一般流程,包括依赖安装、配置、编译安装。 对于Nginx安装,用户提供的引用[2]中有相关的配置命令,比如指定安装目录、用户组和模块。需要确保用户安装了必要的依赖库,比如pcre、zlib、openssl等。可能还需要创建nginx用户和组,避免使用root运行,提高安全性。然后,配置编译选项,执行make和make install。安装完成后,还要处理服务管理,可能需要手动编写systemd服务文件,或者使用现有的脚本。另外,引用[2]中的配置参数是否正确?比如--prefix是否指向正确的位置,模块是否齐全? 然后是Zabbix 6的安装,用户提到引用[3]中的步骤,包括源码编译安装、调优、与grafana集成。Zabbix需要数据库支持,比如MySQL或者PostgreSQL,所以需要先安装数据库服务,并创建对应的数据库和用户。编译Zabbix时,可能需要安装很多开发包,比如libxml2、libcurl、OpenSSL等。还要注意PHP的版本是否满足要求,以及前端配置是否正确。用户提到要设置zabbix用户的sudo权限,这一步是为了方便脚本执行,但需要提醒用户注意安全风险,确保最小权限原则。 接下来,用户可能需要配置Nginx作为Zabbix的前端服务器,处理PHP请求,所以需要安装PHP-FPM,并配置Nginx的虚拟主机,指向Zabbix的前端文件。同时,SSL配置可能也是必要的,引用[2]中提到了--with-http_ssl_module,所以需要生成或获取SSL证书。 另外,用户引用的信息中有使用yum安装zabbix-agent2的部分,但用户希望从源码编译安装Zabbix,所以可能需要区分服务端和客户端的安装方式。或者用户可能希望服务端编译安装,而客户端使用yum安装,需要明确说明。 还要考虑SELinux和防火墙的配置,确保端口80、443、10051等是开放的。可能还需要调整PHP的配置,比如时区、内存限制等,以确保Zabbix前端正常运行。 最后,整个过程可能会有很多依赖问题,需要逐步检查错误日志,确保每一步都正确执行。比如在编译过程中缺少某个库,或者配置文件路径错误等。需要给出详细的步骤,并提醒用户注意常见问题,例如权限设置、服务启动失败的原因排查。 现在需要将这些思考整理成结构化的步骤,分Nginx和Zabbix两部分,每部分包括准备依赖、配置、编译安装、配置文件和启动服务。同时,生成相关问题,帮助用户扩展了解优化和安全配置等内容。</think>### CentOS 7 源码编译安装 Nginx 和 Zabbix 6 分步指南 #### 一、Nginx 源码编译安装 1. **安装依赖** ```bash yum install -y gcc make pcre-devel zlib-devel openssl-devel useradd -M -s /sbin/nologin nginx # 创建系统用户[^2] ``` 2. **下载源码并编译** ```bash wget https://nginx.org/download/nginx-1.20.2.tar.gz tar zxvf nginx-1.20.2.tar.gz cd nginx-1.20.2 ./configure \ --user=nginx \ --group=nginx \ --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-pcre make && make install # 编译安装[^2] ``` 3. **配置系统服务** ```bash vim /usr/lib/systemd/system/nginx.service ``` 添加以下内容: ```ini [Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit [Install] WantedBy=multi-user.target ``` ```bash systemctl daemon-reload systemctl enable --now nginx ``` #### 二、Zabbix 6 源码编译安装 1. **安装依赖** ```bash yum install -y mariadb-server mariadb-devel libxml2-devel libcurl-devel net-snmp-devel openldap-devel libevent-devel pcre2-devel systemctl enable --now mariadb ``` 2. **创建数据库** ```sql CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'YourPassword'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES; ``` 3. **编译安装Zabbix服务端** ```bash wget https://cdn.zabbix.com/zabbix/sources/stable/6.2/zabbix-6.2.3.tar.gz tar zxvf zabbix-6.2.3.tar.gz cd zabbix-6.2.3 ./configure \ --enable-server \ --enable-agent \ --with-mysql \ --with-net-snmp \ --with-libcurl \ --with-libxml2 \ --with-openssl make install # 默认安装到/usr/local[^3] ``` 4. **初始化数据库** ```bash mysql -uzabbix -p zabbix < database/mysql/schema.sql mysql -uzabbix -p zabbix < database/mysql/images.sql mysql -uzabbix -p zabbix < database/mysql/data.sql ``` 5. **配置前端** ```bash cp -r ui/* /usr/local/nginx/html/zabbix/ chown -R nginx:nginx /usr/local/nginx/html/zabbix ``` #### 三、集成配置 1. **PHP环境配置** ```bash yum install -y php-fpm php-mysqlnd php-gd php-bcmath php-mbstring systemctl enable --now php-fpm ``` 2. **Nginx虚拟主机配置** ```nginx server { listen 80; server_name zabbix.example.com; root /usr/local/nginx/html/zabbix; location / { index index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值