微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

手把手教你如何在centos7下部署运行一个php项目分享

@H_502_6@

本篇文章给大家分享centos7下部署运行一个PHP项目有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。@H_502_6@

因为要做web方向的测试,所以选择了一个测试网站addressbook.@H_502_6@

@H_502_6@@H_502_6@

Nginx + PHP-fpm +centos7@H_502_6@

首先我先要在chrome上打开,但是服务器站点部署在linux上,而chrome装在windows上,所以选择桥接模式。@H_502_6@

Centos7桥接模式设置:@H_502_6@

首先选择 桥接模式@H_502_6@

ip addr 获取虚拟机ip地址@H_502_6@

关闭虚拟机防火墙@H_502_6@

systemctl stop firewalld.service

禁止fireware开机启动@H_502_6@

systemctl disable firewalld.service

ping xxxx@H_502_6@

刚开始启动Nginx时一直报错,最后发现是端口占用问题,解除80端口占用。@H_502_6@

先查看80端口是否被占用,然后启动Nginx@H_502_6@

  • 查看所有端口占用
  • netstat -tln
  • 查看端口被哪个进程占用
  • lsof -i:端口号
  • 杀死被占用端口
  • kill 端口号

接着启动Nginx:@H_502_6@

 /usr/local/Nginx/sbin/Nginx

检查是否启动成功:@H_502_6@

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to Nginx! 则表示 Nginx 已经安装并运行成功。@H_502_6@

centos安装Nginx以及配置:https://www.jianshu.com/p/9a6c96ecc8b8@H_502_6@

为了方便可以进行配置以采用以下命令启动:@H_502_6@

service Nginx reload    重新加载配置

service Nginx start 启动Nginx

如果Nginx启动失败,就先强行杀死Nginx进程:@H_502_6@

pkill Nginx
但是每次要进行到相应的路径来启动Nginx太麻烦了,这里可以在etc/init.d目录下创建一个启动脚本,通过这个脚本来启动Nginx,这样启动Nginx会方便很多
在etc/init.d目录下创建Nginx脚本
vim /etc/init.d/Nginx
#!/bin/sh

#

# Nginx - this script starts and stops the Nginx daemin

#

# chkconfig:  - 85 15

# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \

#              proxy and IMAP/POP3 proxy server

# processname: Nginx

# config:      /usr/local/Nginx/conf/Nginx.conf

# pidfile:    /usr/local/Nginx/logs/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/local/Nginx/sbin/Nginx

prog=$(basename $Nginx)

Nginx_CONF_FILE=/usr/local/Nginx/conf/Nginx.conf

lockfile=/var/lock/subsys/Nginx

start() {

[ -x $Nginx ] || exit 5

[ -f $Nginx_CONF_FILE ] || exit 6

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

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

我们启动PHP-fpm,并设置PHP-fpm开机自启@H_502_6@

service PHP-fpm start

chkconfig PHP-fpm on

Nginx配置文件地址路径:@H_502_6@

vim /usr/local/Nginx/conf/Nginx.conf

PHP-fpm配置@H_502_6@

vim /etc/PHP-fpm.d/www.conf
[...]
listen = /var/run/PHP-fpm/PHP-fpm.sock
[...]
listen.owner = nobody
listen.group = nobody
[...]
user = Nginx
group = Nginx
[...]

编辑Nginx配置文件:vim /etc/Nginx/Nginx.conf@H_502_6@

server {
 28         listen 80;
 29         server_name _;
 30         root /usr/addressbook;
 31         index index.PHP index.html index.htm;
 32 
 33         location / {
 41              try_files $uri $uri/ =404;
 42         }
 43         location ~ \.PHP$ {
 44         try_files $uri =404;
 45         fastcgi_pass 127.0.0.1:9000;
 46         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 47         fastcgi_index index.PHP; include fastcgi_params;
 48         }
 49     }
 50 }

同时PHP-fpm配置文件也要更改:@H_502_6@

listen =/var/run/PHP-fpm/PHP-fpm.sock
listen = 127.0.0.1:9000

重新加载:@H_502_6@

systemctl reload PHP-fpm

在这里插入图片描述@H_502_6@@H_502_6@

推荐学习:《PHP教程》@H_502_6@

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐