当前位置: 首页 > 工具软件 > xcache-j > 使用案例 >

编译安装zabbix(二)nginx、php-fpm、xcache

索吕恭
2023-12-01

#编译安装nginx

yum install wget vim gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre-devel
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar -xzf nginx-1.12.2.tar.gz -C /usr/local/
groupadd -r -g 308 nginx
useradd -r -g 308 nginx
cd /usr/local/nginx-1.12.2

./configure \
–prefix=/usr/local/nginx \
–sbin-path=/usr/local/nginx/sbin/nginx \
–conf-path=/etc/nginx/nginx.conf \
–error-log-path=/var/log/nginx/error.log \
–http-log-path=/var/log/nginx/access.log \
–pid-path=/var/run/nginx/nginx.pid \
–lock-path=/var/lock/nginx.lock \
–user=nginx \
–group=nginx \
–with-http_ssl_module \
–with-http_flv_module \
–with-http_stub_status_module \
–with-http_gzip_static_module \
–http-client-body-temp-path=/var/tmp/nginx/client/ \
–http-proxy-temp-path=/var/tmp/nginx/proxy/ \
–http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
–http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
–http-scgi-temp-path=/var/tmp/nginx/scgi \
–with-pcre
make && make install

mkdir -pv /var/tmp/nginx
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s stop
mkdir -pv /var/run/nginx/
chown -R nginx:nginx /var/run/nginx/

mkdir -pv /var/tmp/nginx/client/
chown -R nginx:nginx /var/tmp/nginx/

配置启动脚本
vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx – high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
#PIDFile=/var/run/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
#PrivateTmp=true
[Install]
WantedBy=multi-user.target

systemctl daemon-reload

###部署php环境

wget http://cn2.php.net/get/php-5.6.31.tar.gz/from/this/mirror
yum -y install epel-release
yum -y install openssl-devel bzip2 bzip2-devel curl curl-devel libxml2-devel mcrypt mhash libmcrypt-devel libmcrypt
yum -y install openldap-devel openldap-clients openldap openldap-servers
cp -frp /usr/lib64/libldap* /usr/lib/

tar -zxf mirror -C /usr/local/
cd /usr/local/php-5.6.31/
./configure –prefix=/usr/local/php \
–enable-mysqlnd –with-mysql –with-mysqli \
–with-openssl \
–enable-mbstring \
–with-freetype-dir –with-jpeg-dir –with-png-dir \
–with-zlib-dir –with-libxml-dir=/usr –enable-xml \
–with-mhash –with-mcrypt \
–enable-sockets –enable-fpm \
–with-config-file-path=/etc/php –with-config-file-scan-dir=/etc/php \
–with-bz2 –with-curl \
–enable-bcmath –with-gd \
–with-gettext –with-ldap-dir=/usr/lib64/libldap
yum -y install gd

make -j 4 && make install
启动fastcgi:

创建配置文件:
chown nginx:nginx -R /usr/local/php/
mkdir -pv /etc/php
setfacl -R -m u:nginx:rwx /run
cp php.ini-production /etc/php/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /etc/php/php-fpm.conf
vim /etc/php/php-fpm.conf
启用如下选项:
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid = /var/run/php-fpm.pid
user = nginx
group = nginx
listen = 127.0.0.1:9000

配置启动脚本
cp sapi/fpm/php-fpm.service.in /usr/lib/systemd/system/php-fpm.service
vim /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/var/run/nginx/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm –nodaemonize –fpm-config /etc/php/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
User=nginx
Group=nginx
[Install]
WantedBy=multi-user.target

##整合php-fpm与nginx
mkdir /zabbix
chown -R nginx:nginx /zabbix/
mv /etc/nginx/nginx.conf{,.bak} -v
配置nginx
vim /etc/nginx/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /zabbix/;
index index.html index.htm index.php;
}
location ~ \.php$ {
index index.php index.html index.htm;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
root /zabbix/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

设置nginx 与 fpm参数传递

vim /etc/nginx/fastcgi_params

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

测试文件
# cat > /zabbix/index.php << EOF
<?php
phpinfo();
?>

##安装xcache,为php加速:
xcache
wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz
tar -xzf xcache-3.2.0.tar.gz -C /usr/local/
cd /usr/local/xcache-3.2.0/
/usr/local/php/bin/phpize
./configure –enable-xcache –with-php-config=/usr/local/php/bin/php-config
make -j 4 && make install

安装结束时,会出现类似如下行:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

编辑php.ini,整合php和xcache:

首先将xcache提供的样例配置导入php.ini
cp xcache.ini /etc/php/

说明:xcache.ini文件在xcache的源码目录中。

接下来编辑/etc/php.d/xcache.ini,找到zend_extension开头的行,修改为如下行:
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
3.2版本
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
注意:如果php.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位。
重新启动php-fpm
# service php-fpm restart

yum -y install gd php-bcmath
yum -y install libjpeg-devel
yum -y install libpng-devel
yum -y install freetype-devel
./configure –with-php-config=/usr/local/php/bin/php-config –with-freetype-dir –with-jpeg-dir –with-png-dir
make && make install
cp /usr/local/php-5.6.31/ext/gd/modules/gd.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
# vim /etc/php.ini
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/gd.so

 类似资料: