目录
Linux 环境基础安装
Nginx、Redis、Mysql安装
PHP、扩展、composer安装
进程管理工具Supervisor安装
Git、版本管理软件Gogs安装
Laravel项目的相关配置
安装libzip
php7.3开始要求系统libzip的version >= 0.11, 但是目前通过 yum -y install libzip-devel 安装的是0.10的版本, 官方版本从1.4.0开始要依赖cmake安装,对cmake的版本还有要求,下面介绍三种安装方式:
1.yum安装(推荐)
# 卸载原有低版本的libzip包
sudo yum -y remove libzip libzip-devel
# 重新安装看看版本是否符合要求
sudo yum -y install libzip libzip-devel
# 否则添加wlnmp源
sudo rpm -ivh https://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
# 安装libzip包,当前wlnmp提供的libzip包版本1.8.0
sudo yum install wlibzip
2. 不需要安装cmake(次推荐)
# 装1.3.2的版本,不需要安装cmake
cd /home/www/soft_download
sudo yum -y remove libzip-devel libzip
wget -c https://libzip.org/download/libzip-1.3.2.tar.gz
tar -zxvf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure
sudo make -j 4
sudo make install
3. 编译安装
编译安装 CMake 3.16.2
cd /home/www/soft_download
sudo yum -y remove libzip-devel libzip
wget https://github.com/Kitware/CMake/releases/download/v3.16.2/cmake-3.16.2.tar.gz
tar -zxvf cmake-3.16.2.tar.gz
cd cmake-3.16.2
./bootstrap --prefix=/usr/local/cmake --datadir=/usr/local/cmake-data --docdir=/usr/local/cmake-doc
sudo make
sudo make install
sudo ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
cmake --version
编译安装 libzip 1.8.0
sudo yum install -y openssl-devel bzip2 bzip2-devel
cd /home/www/soft_download
wget --no-check-certificate https://libzip.org/download/libzip-1.8.0.tar.gz
tar -zxvf libzip-1.8.0.tar.gz
cd libzip-1.8.0
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/cmake
sudo make
sudo make install
配置
# 查看系统当前环境变量(用于扩展pkg-config的搜索路径)
echo $PKG_CONFIG_PATH
# 临时修改配置
export PKG_CONFIG_PATH="/usr/local/cmake/lib64/pkgconfig":$PKG_CONFIG_PATH
# 永久修改配置
vim /etc/profile # 如果只修改当前用户的环境变量则是`vim ~/.bashrc`
export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/cmake/lib64/pkgconfig
# 立刻生效
source /etc/profile
# 检查
pkg-config --list-all|grep libzip
安装PHP8.2
cd /home/www/soft_download
wget -c https://www.php.net/distributions/php-8.2.6.tar.gz
tar -zxvf php-8.2.6.tar.gz
cd php-8.2.6
sudo ./configure --prefix=/usr/local/php \
--with-config-file-path=/etc \
--with-config-file-scan-dir="/etc/php.d" \
--with-curl \
--with-mhash \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-mysqli \
--with-openssl \
--with-sodium \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--with-zlib-dir \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-fpm \
--enable-gd \
--with-external-gd \
--with-webp \
--with-jpeg \
--with-xpm \
--with-freetype \
--with-zip \
--enable-gd-jis-conv \
--enable-bcmath \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-posix \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml
sudo make
sudo make install
sudo ln -s /usr/local/php/bin/php /usr/bin/php
sudo ln -s /usr/local/php/bin/phpize /usr/bin/phpize
sudo ln -s /usr/local/php/sbin/php-fpm /usr/bin/php-fpm
sudo cp /home/www/soft_download/php-8.2.6/php.ini-production /etc/php.ini
sudo chown -R www:www /usr/local/php
sudo chown www:www /etc/php.ini
sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
sudo cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
# 修改www.conf
> sudo vim /usr/local/php/etc/php-fpm.d/www.conf
user = www
group = www
php_flag[display_errors] = off
php_admin_value[error_log] = /home/www/logs/php_fpm_error.log
php_admin_flag[log_errors] = on
安装PHP扩展
安装pecl
cd /usr/local/php/bin/
wget -c http://pear.php.net/go-pear.phar
# 安装
sudo ./php go-pear.phar
# 创建目录
sudo mkdir /etc/php.d
用pecl安装扩展
sudo /usr/local/php/bin/pecl install redis
sudo sh -c 'echo "extension=redis.so" > /etc/php.d/ext-redis.ini'
sudo /usr/local/php/bin/pecl install imagick
sudo sh -c 'echo "extension=imagick.so" > /etc/php.d/ext-imagick.ini'
启动php-fpm
# 启动PHP-FPM服务:
> sudo systemctl start php-fpm # 或 sudo php-fpm
# 停止PHP-FPM服务:
> sudo systemctl stop php-fpm # 或 sudo pkill php-fpm
配置
vim /etc/php.ini
;;;;;;;; 修改以下内容
; 安全相关
allow_url_include = Off ## 是否允许通过include/require来执行一个远程文件
expose_php = Off ## 是否在HTTP响应头里显示PHP版本号
disable_functions = system,passthru,exec,shell_exec,popen,phpinfo,popepassthru,openlog,syslog,readlink,symlink,eval,chroot,scandir,chgrp,chown,ini_alter,ini_restore,dl
; 这几个屏蔽了发不了邮件 pfsockopen,stream_socket_server,fsocket,fsockopen
; 错误相关
display_startup_errors =Off
display_errors = Off ##不显示错误
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
log_errors=On
error_log=/home/www/logs/php_error.log
; 资源限制的参数
max_execution_time = 30 ## 一个脚本最大允许执行时间, 0表示没有限制
memory_limit = 128M ## 一个脚本能够申请到的最大内存字节数
max_input_time = 60 ## 一个脚本解析输入数据(GET,POST,Upload)的最大允许时间
upload_max_filesize = 8M ## 上传文件允许的最大filesize
; session配置
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379?auth=authpwd"
; 性能优化(实测开启opcache后性能可提升1倍)
[opcache]
; 加载opcache扩展
zend_extension="opcache.so"
; 启用opcache
opcache.enable=1
; opcache的共享内存大小,以兆字节为单位
opcache.memory_consumption=128
; 用来存储预留字符串的内存大小,以兆字节为单位。
opcache.interned_strings_buffer=8
; opcache哈希表中可存储的脚本文件数量上限。
opcache.max_accelerated_files=4000
; opcache不保存注释,减少opcode大小
opcache.save_comments=0
安装composer
# 安装方式1
cd /home/www/soft_download
wget -c https://getcomposer.org/download/2.7.4/composer.phar
sudo mv composer.phar /usr/bin/composer
sudo chown www:www /usr/bin/composer
sudo chmod +x /usr/bin/composer
# 修改镜像(很多国内镜像已经不可用了)
composer config -l -g # 查看全局配置
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ # 阿里镜像
composer config -g --unset repos.packagist # 重置为官方源地址