系统运输
资料来源: https://blog.csdn.net/Powerful_Fy
php官方网站: https://www.php.net
进入官网后点击downloads选择下载的版本即可
本文以PHP版本7.3.10为例
软件包存储路径/usr/local/src/
下载:
[ root @ Linux src ] # wget https://www.PHP.net/distributions/PHP-7.3.10.tar.bz2
解冻:
[ root @ Linux src ] # tar-jxvf PHP-7.3.10.tar.bz2
编译安装:
访问目录cd php-7.3.10.tar.bz2
设置编译参数:
./configureprefix=/usr/local/PHP-fpmwith-config-file-path=/usr/local/PHP-fpm/etcenable-fpmwith-fpm-user=PHP-fpm-group=PHP-fpmwith-MySQL=/usr/local/MySQLwith-fpm MySQLwith-MySQL-sock=/tmp/MySQL.sock-with-libxml-dir-with-GD-with-JPEG-dir-with-png-dir-freetype-dir-with-iconv-iconv
编译: make
安装: make install
将配置文件php.ini-development复制到php程序安装文件夹:
[ root @ Linux PHP-7.3.10 ] # CP PHP.ini-development/usr/local/PHP-fpm/etc/PHP.ini
将启动脚本复制到/etc/init.d/目录中:
[ root @ Linux PHP-7.3.10 ] # CP SAPI/fpm/init.d.PHP-fpm/etc/init.d/PHP-fpm
进入php安装目录下的/etc目录并重命名配置文件:
[ root @ Linux PHP-7.3.10 ] # CD/usr/local/PHP-fpm/etc /
[ root @ Linux etc ] # CP PHP-fpm.conf.default PHP-fpm.conf
[root@linux etc]# cd php-fpm.d/
[ root @ Linux PHP-fpm.d ] # CP www.conf.default www.conf
将php启动脚本添加到系统服务中:
[ root @ Linux PHP-fpm.d ] # chkconfig-- add PHP-fpm
[ root @ Linux PHP-fpm.d ] # chkconfig PHP-FP mon
[ root @ Linux PHP-fpm.d ] # chmod 755/etc/init.d/PHP-fpm
创建php用户:
[ root @ Linux PHP-fpm.d ] # useradd PHP-fpm
启动php :
[ root @ Linux PHP-fpm.d ] # service PHP-fpm start
编译并安装php错误报告方法:
错误1:checking for gcc… no否
解决: yum -y install gcc
错误2:error: libxml2 not found
解决方案: yum install -y libxml2-devel
错误3:error:cannot find OpenSSL\\ & amp; #039; s
解决方案: yum install -y openssl-devel
错误4:error:curl version7. 15.5 orlaterisrequired
解决方案: yum install -y libcurl-devel
错误5:configure:error:JPEG lib.hnotfound
解决方案: yum install-y libjpeg-turbo-devel
错误6:configure:error:png.hnotfound
解决: yum install -y libpng-devel
错误7:configure:error:freetype-config not found
解决方案: yum install -y freetype-devel
错误8:configure:error:wrongmysqllibraryversionorlibnotfound
此错误表示当前安装的MySQL/MariaDB版本太高。 您只需下载低版本的MySQL包,并将编译参数中包含MySQL/MariaDB的路径更改为低版本的MySQL程序目录,而无需安装低版本的MySQL
解决方案:
下载MySQL5.6二进制软件包:
[ root @ Linux~~ ] # CD/usr/local/src /
[ root @ Linux src ] # wget http://mirrors.163.com/MySQL/downloads/MySQL-5.6/MySQL-5.6.6.43-Linux-glibc 2
2 .解冻:
[ root @ Linux src ] # tar-zxvf MySQL-5.6.43-Linux-glibc 2.12-x86 _ 64.tar.gz
导航至/usr/local/目录并重命名为mysql5.6 :
[ root @ Linux src ] # mvmysql-5.6.43-Linux-glibc 2.12-x86 _ 64.tar.gz/usr/local/MySQL 5.6
4 .修改编译参数- -with-mysql、- -with-mysqli和- -with-pdo-mysql指向的路径是MySQL5.6目录。
./configureprefix=/usr/local/PHP-fpmwith-config-file-path=/usr/local/PHP-fpm/etc-enable-fpm-with-fpm-user=PHP-fpm-with-fpm-group=PHP-fpm-with-my SQL=/usr/local/my SQL 5.6 mmm MySQL 5.6with-MySQL-sock=/tmp/MySQL.sock-with-libxml-dir-with-GD-with-JPEG-dir-with-png-dir-freetype-dir-with-iconv-iconv
错误9:error:[ pool www ] cannotgetuidforuser\\ & amp; quot; PHP-fpm\\\\&; quot;
创建由编译参数指定的php用户即可
解决方案: useradd php-fpm
nginx官方网站: http://nginx.org/
编译并安装nginx :
安装包保管路径/usr/local/src
下载:
[ root @ Linux src ] # wget http://nginx.org/download/nginx-1.16.1.tar.gz
解冻:
[ root @ Linux src ] # tar-zxvf nginx-1.16.1.tar.gz
访问nginx源包目录:
[ root @ Linux src ] # cdnginx-1.16.1 /
设置编译参数:
[ root @ Linux nginx-1.16.1 ] #./configure-- prefix=/usr/local/nginx-- with-http _ SSL _ module
编译安装:
[ root @ Linux nginx-1.16.1 ] # make make install
启动nginx :
[ root @ Linux~~ ] #/usr/local/nginx/sbin/nginx
[ root @ Linux~~ ] # netstat-lntp|grep nginx
TCP 00.0.0.0:80.0.0:* listen 11494/nginx:master
补充:
如果不想使用绝对路径启动nginx,请将nginx启动脚本软连接到环境变量目录。
[ root @ Linux~~ ] # ln-s/usr/local/nginx/sbin/nginx/usr/bin/nginx
启动nginx :
[root@linux ~]# nginx
[root@linux ~]# ps -ef|grep nginx
路线115801021:58? 00:00:00 nginx:masterprocessnginx
nobody 11581 11580 0 21:58? 00:00:00 nginx :工作器进程
root 115847705021:59 pts/000:00:00 grep-- color=auto nginx
关闭nginx :
[root@linux ~]# nginx -s stop
yum安装nginx :
官方说明: http://nginx.org/en/Linux _ packages.html
nginx仓库配置:
[ root @ Linux~] # VI/etc/yum.repos.d/nginx.repo
添加以下内容:
[nginx-stable]
name=nginx stable repo
base URL=http://nginx.org/packages/centos/$ releasever/$ basearch /
gpgcheck=1
启用=1
gpg key=https://nginx.org/keys/nginx _ signing.key
module_hotfixes=true
yum安装nginx :
[ root @ Linux~~ ] # yum-yinstallnginx
配置文件路径:
[root@linux ~]# ls /etc/nginx/
conf.dkoi-utf mime.types nginx.confu wsgi _ params
fastcgi _ params koi-winmodulesscgi _ params win-utf
启动脚本路径:
[root@linux ~]# which nginx
/usr/sbin/nginx
启动nginx :
[ root @ Linux~~ ] # systemctlstartnginx
[root@linux ~]# ps -ef|grep nginx
路线124101022:42? 00:00:00 nginx:master process/usr/sbin/nginx-c/etc/ngin/nginx.conf
nginx 12411 12410 0 22:42? 00:00:00 nginx :工作器进程
root 124137705022:42 pts/000:00:00 grep-- color=auto nginx
关闭nginx :
[ root @ Linux~~ ] # systemctlstopnginx
通过修改nginx配置文件配置nginx虚拟主机,一台nginx服务器( web服务器)可以在虚拟主机上配置多个站点
单一配置虚拟主机 :
编辑nginx虚拟主机配置文件。 因为上一篇文章使用的是yum安装的nginx,所以nginx虚拟主机配置文件的路径为/etc/nginx/conf.d/default.conf
编辑配置文件:
[ root @ Linux~] # VI/etc/nginx/conf.d/default.conf
定义与server_name条目相对应的站点域名:
验证配置文件:
[root@linux ~]# nginx -t
nginx:theconfigurationfile/etc/nginx/nginx.confsyntaxisok
nginx:configuration file/etc/nginx/nginx.conftestissuccessful
重新加载并启用nginx :
[root@linux ~]# nginx -s reload
www.test.com是用于测试的自定义域名,无法解析为要测试的nginx服务器,因此必须更改Windows配置文件hosts。
配置文件: c:\\\ windows\\\system32\\\\ drivers\\\etc\\ hosts打开
添加web服务器地址和对应的域名:
用浏览器访问www.test.com即可:
多种配置虚拟主机 :
复制虚拟主机配置文件:
[ root @ Linux~~ ] # CD/etc/nginx/conf.d /
[root@linux conf.d]# ls
default.conf
[ root @ linuxconf.d ] # CP default.conftest Baidu.conf
#虚拟主机文件命名为需要易于维护的配置的域名
编辑文件:
[ root @ linuxconf.d ] # vitestbaidu.conf
定义与server_name条目对应的站点域名和与根条目对应的站点目录。
验证和重新加载nginx :
[root@linux ~]# nginx -t
nginx:theconfigurationfile/etc/nginx/nginx.confsyntaxisok
nginx:configuration file/etc/nginx/nginx.conftestissuccessful
[root@linux ~]# nginx -s reload
要创建站点感知目录和index.html文件,请执行以下操作:
[ root @ linuxconf.d ] # mkdir-p/tmp/test Baidu
[ root @ linuxconf.d ] # touch/tmp/test Baidu/index.html
[ root @ linuxconf.d ] # echo nginx _ test $?
更改Windows系统的主机文件:
登陆www.testbaidu.com即可:
默认值虚拟主机 :
默认值虚拟主机角色如果多个域名指向此web服务器,但尚未将域名添加到nginx虚拟主机,则访问默认值虚拟主机 (通用解析)
查看虚拟主机配置文件目录:/etc/nginx/conf.d/
[root@linux conf.d]# ls
default.conf testbaidu.conf
#如果此目录中存在多个虚拟主机配置文件,则第一个配置文件将默认为虚拟主机
如上所述修改Windows系统的hosts文件时,添加了域名www.abc.com。 此域名未设置为虚拟主机,将访问默认的虚拟主机
测试:
#加载结果是默认值虚拟主机default.conf指向的页面
将testbaidu.conf设置为默认值虚拟主机,然后编辑testbaidu.conf :
[ root @ linuxconf.d ] # vitestbaidu.conf
在端口号后添加default就可以了。
验证并重新启动nginx :
[root@linux conf.d]# nginx -t
nginx:theconfigurationfile/etc/nginx/nginx.confsyntaxisok
nginx:configuration file/etc/nginx/nginx.conftestissuccessful
[ root @ linuxconf.d ] # nginx-s reload
再次访问www.abc.com :
#显示结果在testbaidu.conf的虚拟主机页
禁用nginx的默认值虚拟主机 :
#默认值:向虚拟主机配置文件添加行: deny all; 好的
nginx默认值:禁用虚拟主机后,如果nginx虚拟主机配置文件server_name项中未定义要访问的域名,则会显示403错误。
详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn