1. 安装Linux
1.1. 安装vsftpd
#启动ftp功能,用于远程传输
yum install vsftpd
1.2. 配置vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
- =》禁止匿名访问: 将配置文件中
anonymous_enable=YES “改为 “anonymous_enable=NO
- =》所有的用户均不能通过cd切换到其他目录
chroot_local_user=YES chroot_list_enable=NO chroot_list_file=/etc/vsftpd/chroot_list
chroot_list_enable=YES/NO(NO)
#设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_list_file=/etc/vsftpd.chroot_list
#用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
chroot_local_user=YES/NO(NO)
#用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
- 通过搭配能实现以下几种效果
- 当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
- 当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
- 当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
- 当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
1.3. 添加ftp用户
登录Linux主机后,运行命令:useradd ftpadmin -s /sbin/nologin
。
该账户路径默认指向/home/ftpadmin目录,不允许该用户通过shell登录Linux服务器。
如果需要将用户指向其他目录,请运行命令:useradd ftpadmin -s /sbin/nologin –d /usr/local/nginx
(其他目录)
1.4. 修改ftp用户密码
设置ftpadmin用户密码,运行命令:passwd ftpadmin
1.5. 启动vsftpd服务
登录Linux主机后,运行命令:systemctl start vsftpd
如果让FTP每次开机自动启动,运行命令: systemctl enable vsftpd
1.6. 可能遇到的问题
- 修改chroot_local_user=YES chroot_list_enable=NO之后,连接ftp可能会报错:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
- "如果启用chroot,必须保证ftp根目录不可写,这样对于ftp根直接为网站根目录的用户不方便,所以建议将ftp根目录/home/ftpadmin访问权限改写如下
chmod a-w /home/ftpadmin
2. 安装Nginx最新版
yum install nginx #安装版本最好方式,不过需要确认版本别太低导致web代码有兼容问题;这样,就不需要如下的代码安装方式了
systemctl start nginx
systemctl enable nginx
# 查看配置文件路径以及合法性
nginx -t
vi /usr/share/nginx/html
2.1. 下载编译安装
模块依赖性Nginx需要依赖下面3个包: zlib zlib-devel openssl openssl-devel pcre pcre-devel
这里可以通过yum安装,也可以根据实际情况安装指定的安装包。
- ssl功能需要 openssl 库 点击下载
yum install -y openssl openssl-devel
wget https://www.openssl.org/source/openssl-3.0.7.tar.gz && tar -zxvf openssl-3.0.7.tar.gz - gzip模块需要 zlib 库 点击下载
- rewrite模块需要 pcre 库 点击下载
依赖包安装顺序依次为:openssl、zlib、pcre, 最后安装Nginx包。这里我们采用安装该部分默认安装包;
#1.安装Nginx运行所需要的插件。
#安装gcc。gcc是Linux下的编译器,它可以编译C、C++、Ada、Object C和Java等语言。
yum install -y gcc
#安装zlib。zlib是一个文件压缩和解压缩的库,Nginx使用zlib对HTTP数据包进行gzip压缩和解压。
yum install -y zlib zlib-devel
#安装openssl
yum install -y openssl openssl-devel
#安装pcre。pcre是一个perl库,Nginx的HTTP模块使用pcre来解析正则表达式。
yum install -y pcre pcre-devel
#2.下载Nginx安装包。
wget http://nginx.org/download/nginx-1.17.10.tar.gz
#3.解压Nginx安装包。
tar -zxvf nginx-1.17.10.tar.gz
#4.编译安装Nginx。
cd nginx-1.17.10
# 将安装路径修改为/usr/local/nginx
./configure --prefix=/usr/local/nginx --with-http_ssl_module #--with-pcre=../pcre-8.21 --with-zlib=../zlib-1.2.7 --with-openssl=../openssl-fips-2.0.2
# 如果需要https,需要安装ssl库;yum -y install openssl openssl-devel
make && make install
#5.启动Nginx。
cd /usr/local/nginx/
sbin/nginx -v
#6.测试Nginx启动。
#在浏览器地址栏输入ECS服务器的公网地址,例如123.123.123.123,出现如下界面表示安装启动成功。
# 测试成功后,执行pkill nginx 关闭nginx
#7.修改默认环境变量执行nginx
cat >> /etc/profile <<END
export PATH=${PATH}:/usr/local/nginx/sbin
END
source /etc/profile
2.2. 配置nginx服务
- 创建默认配置目录并拷贝文件
#查看当前nginx使用的配置文件路径
$ nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
## 创建配置文件
## mkdir -p /etc/nginx && cp -rf /usr/local/nginx/conf/* /etc/nginx
- 这里修改nginx配置文件内容
server {
listen 80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /srv/www/htdocs/;
index index.php index.html index.htm;
}
#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 /srv/www/htdocs/;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root /srv/www/htdocs/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
2.3. 运维nginx服务
2.3.1. Nginx开机启动(方法1,适用CentOS7,systemctl管理服务)
- CentOS7系统服务脚本目录
用户(user):用户登录后才能运行的程序,存在用户(user)。
/usr/lib/systemd/user
系统(system):如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里。
/usr/lib/systemd/system
- 编写service脚本
- 服务文件名以.service结尾:
vim /usr/lib/systemd/system/nginx.service
-
编写脚本内容(固定格式),这里文件路径需要根据实际情况修改:
[Unit] Description=nginx After=network.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx 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
加载nginx服务。而ExecStart、ExecReload、ExecStop的值也可以是"/etc/init.d"下的自定义的sh脚本文件的绝对路径.
systemctl start nginx
systemctl enable nginx
采用这种方式来实现 uWSGI 开机启动的:
/etc/init.d目录下的uWSGI服务启动脚本文件"uwsgi-start.sh":
#!/bin/sh
/pyvenv/bin/uwsgi --ini /pyvenv/src/eduonline/uwsgi.ini;
/etc/init.d目录下的uWSGI服务重启脚本文件"uwsgi-restart.sh":
#!/bin/sh
/pyvenv/bin/uwsgi --restart /pyvenv/src/eduonline/uwsgi.pid;
/etc/init.d目录下的uWSGI服务停止脚本文件"uwsgi-stop.sh":
#!/bin/sh
/pyvenv/bin/uwsgi --stop /pyvenv/src/eduonline/uwsgi.pid;
注意:sh脚本中同样采用绝对路径!!保存后,赋予可读可执行权限。然后编写service脚本文件。
2.3.2. 设置开机启动(强大的CentOS服务管理工具systemctl)
systemctl enable nginx.service #".service"可省略
# 附其他命令:
systemctl start nginx.service # 启动
systemctl restart nginx.service # 重启,服务会中止一会儿
systemctl reload nginx.service # 重载服务配置文件,类似于重启,但服务不会中止
systemctl stop nginx.service # 停止
systemctl disable nginx.service # 关闭开机启动
如果提示"Failed to execute operation: Access denied",输入systemctl daemon-reexec
可解决。
2.3.3. Nginx开机启动(方法2,适用CentOS7以下)
首先,查看nginx配置文件目录nginx -t
然后,在Linux系统的"/etc/init.d/"目录下创建nginx脚本文件,使用如下命令:
cd /etc/init.d/
touch nginx # 创建
vim nginx # 编辑
在脚本中添加如下命令:
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: NGINX is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx" # 修改可执行文件路径
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf" # 修改配置文件路径
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
if [ -n "$user" ]; then
if [ -z "`grep $user /etc/passwd`" ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
fi
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
保存脚本文件后对所有用户追加可执行权限:
chmod a+x /etc/init.d/nginx
先将nginx服务加入chkconfig管理列表:
chkconfig --add /etc/init.d/nginx
设置终端模式开机启动:
chkconfig nginx on
3. MYSQL安装操作
3.1. 安装DB
- mysql下载链接(20220226) https://dev.mysql.com/downloads/repo/yum/
wget -i https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
#如果下载不行,可以用web自行下载后,上传安装
yum -y install mysql80-community-release-el7-5.noarch.rpm
yum -y install mysql-community-server mysql-community-server-tools
### 执行如下命令,启动 MySQL 数据库。
systemctl start mysqld.service
systemctl status mysqld.service
systemctl enable mysqld
3.2. 修改密码
-
mysql cli登录
#查看MySQL初始密码。 grep "password" /var/log/mysqld.log mysql -uroot -p #set global validate_password_policy=0; #修改密码安全策略为低(只校验密码长度,至少8位)。 #第一次登录可能没有密码 mysql -u root -h 127.0.0.1 -P 3306
-
执行以下命令,授予root用户远程管理权限。
use mysql; select host from user; update user set host ='%' where user ='root';
执行以下命令登录mysql,修改MySQL默认密码。满足MySQL强密码策略(e.g., 大写字母,小写字母,特殊字符,最少8字符).
-
方法 1:单引号包裹 + 重复单引号转义分号
适用于 MariaDB 10.2 及以上版本:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test12345678-';
-
方法 2:使用 SET PASSWORD 语句
兼容旧版本 MariaDB:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Mysqlturbock79;');
说明:PASSWORD() 函数自动处理特殊字符,但需注意该语法在 MariaDB 10.4 后可能废弃8。
-
方法 3:直接更新 mysql.user 表(需谨慎)
适用于所有版本:UPDATE mysql.user SET authentication_string = PASSWORD('Mysqlturbock79;') WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
4. 安装PHP
安装php前,建议最好采用网站的需要最低版本。例如在wordpress项目的初始目录,readme.html文件中包含了最低版本要求;这样能确认安装哪个版本php
<h2>System Requirements</h2>
<ul>
<li><a href="https://www.php.net/">PHP</a> version <strong>7.2.24</strong> or greater.</li>
<li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.5.5</strong> or greater.</li>
</ul>
更新源,记得运行 sudo yum update
### 1.安装php
# 如果是centos 6添加下面的仓库
sudo rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
# centos7 安装
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# centos8 安装php74
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-8.rpm
###2. insall php
# centos7 安装php74 源码安装,如果需要自行编译执行如下
# curl -o php-7.4.28.tar.gz https://www.php.net/distributions/php-7.4.28.tar.gz
#安装centos6/7 php7.4
yum install -y php74-php
yum search php* #使用这个命令查看已缓存源中都可以安装哪些版本的php,php56/php72/php74/php80等等, 这里以7.4版本为例
sudo yum install -y php74-php-fpm php74-php-opcache php74-php-cli php74-php-gd php74-php-imap php74-php-mysqlnd php74-php-mbstring php74-php-mcrypt php74-php-pdo php74-php-pecl-apcu php74-php-pecl-mongodb php74-php-xml php74-php-pecl-zip
#个别安装php7.4
sudo yum install -y php74-fpm php74-opcache php74-cli php74-gd php74-imap php74-mysqlnd php74-mbstring php74-mcrypt php74-pdo php74-pecl-apcu php74-pecl-mongodb
#yum install -y php-cli php-gd php-imap php-mysqlnd php-mbstring php-mcrypt php-pdo php-pecl-apcu php-pecl-mongodb
# centos8 安装p
dnf install -y php*
sudo php74 -v #或者 php -v
#启动php-fpm用于连接nginx
systemctl start php74-php-fpm
#netstat -tunlp |grep php 查看9000端口已开启
systemctl enable php74-php-fpm
#启动php-fpm用于连接nginx
systemctl start php-fpm
#netstat -tunlp |grep php 查看9000端口已开启
systemctl enable php-fpm
php74:安装PHP 7.4的包
php74-php:用于创建动态web的PHP脚本语言网站
php74-build:基本的构建配置
php74-php-gd:用于PHP应用程序使用gd的模块图形库
php74-xhprof:一个用于PHP - Web接口的层次分析器
php74-zephir:用于创建扩展的Zephir语言PHP:
php74-php-ast:抽象语法树
php74-php-cli:用于PHP的命令行接口
php74-php-dba:一个用于PHP的数据库抽象层模块应用程序
php74-php-dbg:交互式PHP调试器
php74-php-ffi:外部函数接口
php74-php-fpm:PHP FastCGI进程管理器
php74-php-gmp:一个用于使用GNU的PHP应用程序模块议员库
php74-php-lz4:x86_64: PHP的LZ4扩展
php74-php-pdo:一个用于PHP的数据库访问抽象模块应用程序
php74-php-xml:x86_64:用于使用XML的PHP应用程序的模块
php74-runtime:处理php74软件集合的包:
php74-php-imap:x86_64:用于使用IMAP的PHP应用程序的模块
php74-php-intl:x86_64: PHP国际化扩展应用程序
php74-php-json:x86_64: PHP的JavaScript对象符号扩展
php74-php-ldap:x86_64:用于使用LDAP的PHP应用程序的模块
php74-php-oci8:x86_64:用于使用OCI8的PHP应用程序的模块数据库
php74-php-odbc:x86_64:用于使用ODBC的PHP应用程序的模块数据库
php74-php-pear:noarch: PHP扩展和应用程序库框架
php74-php-pggi:GTK绑定
php74-php-snmp:一个用于PHP应用程序查询的模块SNMP-managed设备
php74-php-soap:用于使用SOAP的PHP应用程序的模块协议
php74-php-tidy:标准PHP模块提供了tidy库支持
php74-php-zstd:x86_64: Zstandard扩展名
php74-scldevel:x86_64:打包php74的开发文件
php74-unit-php:用于NGINX单元的PHP模块
php74-php-devel:构建PHP扩展所需的文件
php74-php-pgsql:一个用于PHP的PostgreSQL数据库模块
php74-php-pinba:x86_64: Pinba统计服务器的客户端扩展
php74-php-bcmath:用于PHP应用程序的模块bcmath库
php74-php-brotli:用于PHP的Brotli扩展
php74-php-common:PHP的公共文件
php74-php-pspell:x86_64:用于PHP应用程序的模块中接口
php74-php-recode:用于PHP应用程序的模块重新编码库
php74-php-snappy:PHP的Snappy扩展
php74-php-sodium:x86_64:钠密码库的包装
php74-php-sqlsrv:x86_64:用于SQL Server的PHP Microsoft驱动程序
php74-php-xmlrpc:的PHP应用程序模块xml - rpc协议
php74-php-enchant:增强PHP的拼写扩展应用程序
php74-php-libvirt:用于Libvirt的PHP语言绑定
php74-php-mysqlnd:x86_64:用于使用MySQL的PHP应用程序的模块数据库
php74-php-opcache:x86_64: Zend OPcache
php74-php-pecl-ds:x86_64: PHP的数据结构
php74-php-pecl-ev:提供libev库的接口
php74-php-pecl-pq:PostgreSQL客户端库(libpq)绑定
php74-php-pecl-uv:Libuv包装器
php74-php-process:用于PHP脚本的模块使用系统进程接口
php74-php-embedded:用于嵌入应用程序的PHP库
php74-php-mbstring:一个用于PHP应用程序的模块多字节字符串处理
php74-php-pecl-dio:直接I/O函数
php74-php-pecl-eio:提供libeio库的接口
php74-php-pecl-env:加载环境变量
php74-php-pecl-lua:嵌入式lua解释器
php74-php-pecl-lzf:x86_64:处理LZF de/压缩的扩展
php74-php-pecl-nsq:NSQ客户端的PHP扩展
php74-php-pecl-psr:PSR接口
php74-php-pecl-rar:用于读取RAR存档的PHP扩展
php74-php-pecl-rrd:x86_64: rrdtool的PHP绑定
php74-php-pecl-sdl:简单的PHP DirectMedia层
php74-php-pecl-svn:x86_64: Subversion版本的PHP绑定控制系统
php74-php-pecl-vld:x86_64:转储PHP的内部表示脚本
php74-php-pecl-yac:无锁用户数据缓存
php74-php-pecl-yaf:x86_64:又一个框架
php74-php-pecl-yar:轻量级并发RPC框架
php74-php-pecl-yaz:x86_64: Z39.50/SRU客户端
php74-php-pecl-zip:一个ZIP文件的扩展名
php74-php-pecl-zmq:ZeroMQ消息传递
php74-php-phalcon4:Phalcon框架
php74-php-componere:在运行时编写PHP类
php74-php-litespeed:LiteSpeed Web服务器PHP支持
php74-php-maxminddb:MaxMind DB Reader扩展
php74-php-pdo-dblib:x86_64: PDO驱动程序,用于Microsoft SQL Server和Sybase数据库
php74-php-pecl-amqp:与任何AMQP兼容的服务器通信
php74-php-pecl-apcu:APC用户缓存
php74-php-pecl-apfd:总是填充表单数据
php74-php-pecl-fann:用于FANN库的包装器
php74-php-pecl-grpc:x86_64:通用RPC框架
php74-php-pecl-http:扩展的HTTP支持
php74-php-pecl-krb5:Kerberos验证扩展
php74-php-pecl-pcov:x86_64:代码覆盖驱动程序
php74-php-pecl-ssh2:x86_64: libssh2库的绑定
php74-php-pecl-sync:已命名和未命名同步对象
php74-php-pecl-uopz:x86_64: Zend的用户操作
php74-php-pecl-uuid:通用唯一标识符扩展对于PHP
php74-php-pecl-vips:x86_64:与libvip接口的PHP扩展
php74-php-pecl-wddx:Web分布式数据交换
php74-php-pecl-yaml:x86_64: yaml的PHP绑定
php74-php-phpiredis:x86_64: Redis的客户端扩展名
php74-php-smbclient:libsmbclient的PHP包装
php74-php-wkhtmltox:HTML转换器
php74-php-pecl-cmark:CommonMark扩展名
php74-php-pecl-dbase:dBase数据库文件访问函数
php74-php-pecl-druid:一个PHP的德鲁伊驱动
php74-php-pecl-event:提供libevent库的接口
php74-php-pecl-geoip:将IP地址映射到的扩展名地理位置
php74-php-pecl-gnupg:x86_64: gpgme库的包装
php74-php-pecl-mysql:MySQL数据库访问函数
php74-php-pecl-oauth:PHP OAuth消费者扩展
php74-php-pecl-parle:x86_64:解析和词法分析
php74-php-pecl-raphf:资源和持久句柄工厂
php74-php-pecl-solr2:Apache Solr的API定向对象
php74-php-pecl-stats:用于统计计算的例程
php74-php-pecl-stomp:Stomp客户端扩展
php74-php-pecl-taint:x86_64: XSS代码嗅探器
php74-php-pecl-xattr:扩展属性
php74-php-pecl-xdiff:文件差异/补丁
php74-php-pecl-xxtea:XXTEA加密算法扩展PHP
php74-php-libvirt-doc:noarch: php-libvirt文件
php74-php-pecl-base58:用base58编码和解码数据
php74-php-pecl-bitset:位集库
php74-php-pecl-crypto:OpenSSL密码库的包装器
php74-php-pecl-gender:x86_64:性别扩展
php74-php-pecl-hprose:用于PHP的h散文
php74-php-pecl-hrtime:x86_64:高分辨率定时
php74-php-pecl-mcrypt:x86_64: libmcrypt库的绑定
php74-php-pecl-pdflib:生成PDF文件的包
php74-php-pecl-propro:属性代理
php74-php-pecl-radius:Radius客户端库
php74-php-pecl-redis4:的扩展名 Redis键值存储
php74-php-pecl-redis5:的扩展名 Redis键值存储
php74-php-pecl-scrypt:Scrypt散列函数
php74-php-pecl-sphinx:Sphinx SQL全文的PECL扩展搜索引擎
php74-php-pecl-ssdeep:libfuzzy库的包装器
php74-php-pecl-trader:为贸易商提供技术分析
php74-php-pecl-xdebug:用于调试PHP脚本的PECL包
php74-php-pecl-xhprof:x86_64: XHProf的PHP扩展,层次结构分析器
php74-php-pecl-yaconf:x86_64:另一个配置容器
php74-php-pecl-apcu-bc:APCu向后兼容模块
php74-php-pecl-decimal:任意精度浮点小数
php74-php-pecl-gearman:PHP包装器到libgearman
php74-php-pecl-gmagick:的包装器GraphicsMagick库
php74-php-pecl-imagick:x86_64:用于创建和修改映像的扩展使用ImageMagick
php74-php-pecl-inotify:x86_64: Inotify
php74-php-pecl-leveldb:LevelDB PHP绑定
php74-php-pecl-memprof:x86_64:内存使用分析器
php74-php-pecl-mongodb:x86_64:用于PHP的MongoDB驱动程序
php74-php-pecl-msgpack:用于与MessagePack通信的API序列化
php74-php-pecl-rdkafka:基于librdkafka的Kafka客户端
php74-php-pecl-rpminfo:x86_64: RPM信息
php74-php-pecl-runkit7:为了这些你…不应该…无论如何我一直在做……但是肯定做的!
php74-php-pecl-seaslog:一个有效、快速、稳定的日志 PHP扩展
php74-php-pecl-selinux:用于PHP脚本的SELinux绑定语言
php74-php-pecl-swoole4:PHP的异步并发分布式网络框架
php74-php-pecl-timecop:x86_64:时间旅行和冻结扩展
php74-php-pecl-varnish:Varnish缓存绑定
php74-php-pecl-xmldiff:x86_64: XML差异和合并
php74-php-pecl-igbinary:x86_64:替代标准PHP序列化器
php74-php-pecl-memcache:x86_64:使用Memcached的扩展缓存守护进程
php74-php-pecl-mogilefs:要与之通信的PHP客户端库 MogileFS存储
php74-php-pecl-mustache:Mustache模板语言
php74-php-pecl-protobuf:序列化结构化的机制数据
php74-php-pecl-rdkafka4:基于librdkafka的Kafka客户端
php74-php-pecl-scoutapm:本地扩展组件 ScoutAPM的PHP代理
php74-php-pecl-translit:将非拉丁字符音译设置为拉丁文
php74-php-snuffleupagus:x86_64: PHP的安全模块
php74-php-zephir-parser:x86_64: Zephir解析器扩展
php74-php-pecl-cassandra:用于Apache的DataStax PHP驱动程序卡桑德拉
php74-php-pecl-json-post:JSON POST处理程序
php74-php-pecl-mailparse:用于解析和的PHP PECL包处理电子邮件消息
php74-php-pecl-memcached:x86_64:使用Memcached的扩展缓存守护进程
php74-php-pecl-mosquitto:libmosquito - to的扩展
php74-php-pecl-seasclick:一个Yandex ClickHouse客户端驱动 PHP扩展
php74-php-pecl-xlswriter:一个高效、快速的xlsx文件出口扩展
php74-php-horde-horde-lz4:Horde LZ4压缩扩展
php74-php-pecl-apcu-devel:APCu开发人员文件(头文件)
php74-php-pecl-couchbase2:Couchbase服务器PHP扩展
php74-php-pecl-geospatial:PHP扩展来处理公共地理空间功能
php74-php-pecl-handlebars:Handlebars模板语言
php74-php-pecl-http-devel:x86_64:扩展HTTP支持开发人员文件(头)
php74-php-pecl-krb5-devel:Kerberos扩展开发人员文件(头)
php74-php-pecl-luasandbox:带有限制和安全的Lua解释器环境
php74-php-pecl-opencensus:一个stats集合和分布式跟踪框架
php74-php-pecl-skywalking:x86_64: Apache的PHP工具代理人行天桥
php74-php-pecl-ahocorasick:有效的Aho-Corasick字符串模式匹配算法
php74-php-pecl-ip2location:获取an的地理位置信息IP地址
php74-php-pecl-http-message:x86_64: PSR-7 HTTP消息实现
php74-php-pecl-datadog-trace:APM和分布式跟踪PHP
php74-php-pecl-hdr-histogram:x86_64: C语言的PHP扩展包装hdrhistogram API
php74-php-pecl-imagick-devel:imagick扩展开发人员文件(头)
php74-php-pecl-msgpack-devel:MessagePack开发人员文件(头)
php74-php-pecl-mysql-xdevapi:MySQL数据库访问函数
php74-php-pecl-mysqlnd-azure:x86_64: mysqlnd的重定向插件
php74-php-pecl-igbinary-devel:Igbinary开发人员文件(头)
php74-php-pecl-uploadprogress:x86_64:跟踪进度的扩展文件上传
4.1. nginx server configuration 连接php
修改配置文件路径/etc/nginx/nginx.conf
或是/usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name zabbixserver.com;
access_log /data/logs/nginx/zabbixserver.com.access.log main;
###重点,在server的根路由配置中新增index.php
index index.php index.html;
root /data/site/zabbixserver.com;
location /
{
try_files $uri $uri/ /index.php?$args;
}
###重点,新添加内容
location ~ .*\.(php)?$
{
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#expires -1s;
#try_files $uri =404;
#fastcgi_split_path_info ^(.+\.php)(/.+)$;
#fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
4.2. 启动php连接nginx
#1.重启php-fpm服务。
systemctl restart php-fpm
#2. 重启Nginx服务。
systemctl restart nginx
#3. 检查PHP安装。
#a. 在Nginx的网站根目录下创建PHP探针文件phpinfo.php。
echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/phpinfo.php
#b. 访问PHP探针页面。在浏览器地址栏输入xx.xx.xx.xx/phpinfo.php(请将xx.xx.xx.xx替换为ECS服务器的公网地址),出现如下页面表示PHP环境配置成功。
curl localhost/phpinfo.php
赞赏微信赞赏
支付宝赞赏