1. 安装Linux
1.1. 安装vsftpd
1 2 |
#启动ftp功能,用于远程传输 yum install vsftpd |
1.2. 配置vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
- =》禁止匿名访问: 将配置文件中
anonymous_enable=YES “改为 “anonymous_enable=NO
- =》所有的用户均不能通过cd切换到其他目录
123chroot_local_user=YESchroot_list_enable=NOchroot_list_file=/etc/vsftpd/chroot_list
1 2 3 4 5 6 |
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最新版
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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#yum install 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服务
- 创建默认配置目录并拷贝文件
1 2 3 4 5 6 7 |
#查看当前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配置文件内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
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
-
编写脚本内容(固定格式),这里文件路径需要根据实际情况修改:
1234567891011121314[Unit]Description=nginxAfter=network.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s stopPrivateTmp=true[Install]WantedBy=multi-user.target
以上路径必须均为绝对路径!!然后执行systemctl daemon-reload
加载nginx服务。而ExecStart、ExecReload、ExecStop的值也可以是"/etc/init.d"下的自定义的sh脚本文件的绝对路径.
1 2 |
systemctl start nginx systemctl enable nginx |
采用这种方式来实现 uWSGI 开机启动的:
/etc/init.d目录下的uWSGI服务启动脚本文件"uwsgi-start.sh":
1 2 3 4 5 6 7 8 9 10 11 |
#!/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)
1 2 3 4 5 6 7 8 |
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脚本文件,使用如下命令:
1 2 3 |
cd /etc/init.d/ touch nginx # 创建 vim nginx # 编辑 |
在脚本中添加如下命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
#!/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 |
保存脚本文件后对所有用户追加可执行权限:
1 |
chmod a+x /etc/init.d/nginx |
先将nginx服务加入chkconfig管理列表:
1 |
chkconfig --add /etc/init.d/nginx |
设置终端模式开机启动:
1 |
chkconfig nginx on |
3. MYSQL安装操作
- mysql下载链接(20220226) https://dev.mysql.com/downloads/repo/yum/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
wget -i https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm 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 ###执行以下命令,修改MySQL默认密码 #查看MySQL初始密码。 grep "password" /var/log/mysqld.log mysql -uroot -p set global validate_password_policy=0; #修改密码安全策略为低(只校验密码长度,至少8位)。 ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678'; ###执行以下命令,授予root用户远程管理权限。 use mysql; select host from user; update user set host ='%' where user ='root'; |
4. 安装PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
### 1.安装php源 # 如果是centos 6添加下面的仓库 sudo rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm # 添加记得运行 update sudo yum update # centos7 安装php56 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 # centos7 安装php74 源码安装 # curl -o https://www.php.net/distributions/php-7.4.28.tar.gz # 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 #安装php5.6 sudo yum install -y php56w-fpm php56w-opcache php56w-cli php56w-gd php56w-imap php56w-mysqlnd php56w-mbstring php56w-mcrypt php56w-pdo php56w-pecl-apcu php56w-pecl-mongodb #启动php-fpm用于连接nginx systemctl start php-fpm #netstat -tunlp |grep php 查看9000端口已开启 systemctl enable php-fpm #安装php7.4 yum search php74* #使用这个命令查看php7.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 sudo php -v #启动php-fpm用于连接nginx systemctl start php74-php-fpm #netstat -tunlp |grep php 查看9000端口已开启 systemctl enable php74-php-fpm |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
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 2 3 4 5 6 7 8 9 10 11 |
#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 |
微信赞赏
支付宝赞赏