陈奇网络工作室

编译并安装php/nginx/nginx虚拟主机

系统运输

资料来源: 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

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3