编译安装nginx+php和php扩展脚本
简介本文主要记录在Centos7下编译安装nginx和php,还有php的扩展和Composer的安装。但是需要注意的是需要自己对脚本进行修改,还需要下载对应的包。
一、脚本使用说明
本脚本使用的软件版本如下:
- nginx-1.14.2.tar.gz
- php-7.2.16.tar.gz
- libevent-2.1.8-stable.tar.gz
如果你需要使用该脚本安装nginx和php,那么请下载对应的版本,或者下载了你自己的版本,那么就需要对脚本中的文件名进行修改。请将该脚本与软件包放在同一目录下,然后再执行脚本。
二、脚本内容,如下:
#!/bin/sh
#一、全局安装
yum -y install lrzsz git autoconf wget
#二、安装nginx部分脚本
cd ~
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel
tar -zxf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/home/nginx-1.14.2 && make && make install
cat > /etc/systemd/system/nginx.service<<EOF
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/home/nginx-1.14.2/sbin/nginx
ExecReload=/home/nginx-1.14.2/sbin/nginx -s reload
ExecStop=/home/nginx-1.14.2/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
systemctl enable nginx.service
systemctl start nginx.service
ps aux | grep nginx
#三、安装php部分脚本
cd ~
yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
tar -zxf php-7.2.16.tar.gz
cd php-7.2.16
./configure --prefix=/home/php-7.2.16 --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear --enable-bcmath --enable-opcache
make && make install
cp php.ini-development /etc/php.ini
groupadd www
useradd -M -g www -s /sbin/nologin www
cd /home/php-7.2.16/etc/
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d/
cp www.conf.default www.conf
sed -i "s/user = nobody/user = www/g;s/group = nobody/group = www/g;s/pm = dynamic/pm = static/g;s/pm.max_children = 5/pm.max_children = 500/g" www.conf
cat > /etc/systemd/system/php-fpm.service<<EOF
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/home/php-7.2.16/sbin/php-fpm
PrivateTmp=True
[Install]
WantedBy=multi-user.target
EOF
echo 'export PHP_HOME="/home/php-7.2.16"' >> /etc/profile
echo 'export PATH=$PHP_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
systemctl enable php-fpm.service
systemctl start php-fpm.service
ps aux | grep php-fpm
#四、php扩展安装依赖库
cd ~
tar -zxf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./configure && make && make install
#五、composer安装
#composer下载地址:https://getcomposer.org/download/
wget https://getcomposer.org/download/1.8.6/composer.phar -O /usr/local/bin/composer
chmod a+x /usr/local/bin/composer
#composer config -g repo.packagist composer https://packagist.laravel-china.org
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
#六、php扩展安装(mongodb、nsq、redis、swoole)
cd /home/php-7.2.16/bin
wget -O go-pear.php http://pear.php.net/go-pear.phar
chmod +x go-pear.php
./php go-pear.php
./pecl install mongodb
echo "extension=mongodb.so" >> /etc/php.ini
./pecl install nsq
echo "extension=nsq.so" >> /etc/php.ini
./pecl install redis
echo "extension=redis.so" >> /etc/php.ini
./pecl install swoole
echo "extension=swoole.so" >> /etc/php.ini
systemctl restart php-fpm
速查表是自己整理了一份在工作中常用的一些资料,包含了自己在日常开发中需要常常用到的相关技术。可以给读者进行参考。
在PHP中,对二维数组排序还是非常简单的,但是在Golang中对二位数据排序显的就稍显麻烦,但是我们还是可以通过结构体来进行排序,本文主要记录Golang如何通过结构体的多个字段来进行排序。
Ansible-tower工具搭建和使用
Centos中用Chrome将网页导出为PDF,chrome --headless --print-to-pdf https://developer.chrome.com/
在使用Docker的过程中,如果我们需要自己来定制镜像那么就会用到Dockerfile。本文主要是记录Dockerfile的说明和相关指令。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。