关于php项目部署到腾讯云服务器的部署流程
最近工作项目中经常需要使用将项目部署到腾讯云服务器上,先将大致的流程总结如下:
1,安装第三方源,因为默认的环境中没有nginx等
yum install epel-release
2,安装nginx和php等等
yum install nginx php73 php73-php-fpm php73-php-pecl-redis php73-php-pdo php73-php-mysql php73-php-gd php73-php-xml php73-php-pecl-zip php73-php-mbstring
3,配置用户
chown -R apache:apache /usr/share/nginx/html
如果apache用户没有启用,需要先启用
usermod -s /bin/bash apache
4,配置nginx
# 添加新配置文件,配置支持php
vim /etc/nginx/default.d/php.conf
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
5,配置服务
# 启动服务
systemctl start nginx php-fpm
# 添加开机启动
systemctl enable nginx php-fpm
或者
systemctl start nginx.service php73-php-fpm.service
systemctl enable nginx.service php73-php-fpm.service
6.配置防火墙
# 允许http服务
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
7,PHP 命令软连接(方便全局使用php命令 例如php -v 或者php -m等等):
(1), ln -s /usr/bin/php73 /usr/bin/php
(2).修改rc文件
1.当前用户的环境变量
#如果是使用bash作为shell
vim ~/.bashrc
#增加一行环境变量
export PATH=/opt/remi/php71/root/usr/bin:$PATH
#刷新一下环境变量
source ~/.bashrc
2.修改全局环境变量
vim /etc/profile
export PATH=/opt/remi/php71/root/usr/bin:$PATH
8,安装composer:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
composer -V
composer 更换为国内镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
9,代码部署
git clone http://tfs/DefaultCollection/项目名称
cd ***/r_project,进入项目目录下载对应的框架包工具及扩展
composer install
composer update
10.安装node和pm2 (如果需要使用到pm2的监听服务等)
1、安装node v10.22.1
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash
yum install -y nodejs
node -v
npm -v
2、安装pm2 v4.4.1
npm install pm2 -g
pm2 --version
本文参考:http://blog.jues.org.cn/post/centos7-da-jian-php-huan-jing-shi-yong-nginx-he-php-fpm.html
配置好后nginx提示权限有问题
一直提示 ERR_INCOMPLETE_CHUNKED_ENCODING
最后的解决方法是将nginx.conf的user改为apache
重启服务,重新给权限
sudo chown -R apache:apache /usr/share/nginx/html/
sudo chmod -R 766 /usr/share/nginx/html/
sudo chown -R apache:root /var/lib/nginx/