最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

PHP环境部署和发布工具安装

XAMPP教程 中文小张 976浏览 0评论

以下文档以project_name为基础,在部署时都需替换成项目名。

一般服务器购买阿里云或者腾讯云。

服务器名设置

登录服务器
ssh user@host -p port

服务器命名
web 服务器:
hostnamectl set-hostname <project_name>web1
mysql服务器:
hostnamectl set-hostname <project_name>mysql1

系统升级
yum -y update

修改root密码
passwd

安装vim wget screen mysql 客户端
yum -y install lrzsz.x86_64 vim vim-common.x86_64 vim-enhanced.x86_64 vim-minimal.x86_64 wget screen mysql

进入screen
screen -S lnmp

配置dep用户免密登陆

切换到dep用户
su dep

生成秘钥对
ssh-keygen

添加7.2复制的pub_key并保存
vim ~/.ssh/authorized_keys

修改权限
chmod 600 ~/.ssh/authorized_keys

mysql和web服务器添加dep用户
useradd dep

deplpy机器上复制公钥
cat /root/.ssh/id_rsa.pub

mysql和web服务器在dep用户下生成rsa秘钥对,三次直接回车

添加web服务器的dep账户的pub_key到gitlab的头像–设置–SSH公钥
cd /home/dep/.ssh
cat id_rsa.pub

修改Port(禁止root登录)
vi /etc/ssh/sshd_config

禁止root登录
PermitRootLogin no

修改Port
#Port 22

重启
systemctl restart sshd.service

如果报错:则
/usr/sbin/sshd -T

查看报错原因

阿里云安全组规则需要需要添加新的入端口号,不然会被拦截

向防火墙中添加修改的端口

开启防护墙
systemctl start firewalld

添加:
firewall-cmd –zone=public –add-port=33588/tcp –permanent

reload:
firewall-cmd –reload

查看状态:
firewall-cmd –zone=public –query-port=33588/tcp

设置时区,默认北京时间不用设置:
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
安装时间同步:
yum install -y ntpdate
crontab -e
*/20 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1
systemctl restart crond.service
/usr/sbin/ntpdate time.windows.com
clock -w

系统配置

a.shell

禁用selinux
vi /etc/selinux/config
SELINUX=disabled

设置命令历史记录的条数
vi /etc/profile
HISTSIZE=10

禁用不必要的开机启动项,centos7之后无效

系统内核参数配置

安装lnmp环境

参考自动化安装文档 https://lnmp.org/download.html
自动化安装脚本生成工具:https://lnmp.org/auto.html

web机安装nginx redis php-fpm
数据库机器安装 mariadb
##配置nginx环境

/usr/local/nginx/conf/nginx.conf 文件中默认的站点配置,删除如下代码
vim /usr/local/nginx/conf/nginx.conf

server
{
listen 80 default_server;
#listen [::]:80 default_server ipv6only=on;
server_name _;
index index.html index.htm index.php;
root  /home/wwwroot/default;

#error_page   404   /404.html;

# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

include enable-php.conf;

location /nginx_status
{
stub_status on;
access_log   off;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires      30d;
}

location ~ .*\.(js|css)?$
{
expires      12h;
}

location ~ /.well-known {
allow all;
}

location ~ /\.
{
deny all;
}

access_log  /home/wwwlogs/access.log;
}

修改php的base_dir目录

替换fastcgi_param PHP_ADMIN_VALUE的值

创建日志文件

后台nginx配置文件:

前台nginx配置文件:

mkdir -p /home/wwwlogs/nginx/

mkdir -p /data/wwwroot/ && chown -R dep:dep /data/wwwroot/

mkdir -p /home/wwwlogs/phplog/

添加前后台项目nginx配置文件

1.后台nginx配置文件

2.前台nginx配置文件

php 配置:

安装phpfileinfo扩展模块
cd lnmp
cd src && tar xvf php-7.2.6.tar.bz2
cd php-7.2.6/ext/fileinfo/phpize && ./configure –with-php-config=/usr/local/php/bin/php-config
make && make install
vim /usr/local/php/etc/php.ini
最后一行添加
extension=fileinfo.so

安装redis扩展模块

cd lnmp

./addons.sh选择 redis

c.复制cli的php配置文件
cp /usr/local/php/etc/php.ini /usr/local/php/etc/php-cli.ini

d.去掉php-cli.ini中disable函数中的exec
vim /usr/local/php/etc/php-cli.ini

f. /usr/local/php/etc/php-fpm.conf替换成如下内容
vim /usr/local/php/etc/php-fpm.conf

16.mysql数据库服务器配置:

由于默认mysql data 目录在 /usr/local/mariadb/var 空间不足,需要迁移到/home/mysql/data下(如空间足够则不需要迁移。)

service mysql stop

mkdir -p /home/mysql/data

cp -rp /usr/local/mariadb/var/* /home/mysql/data

chown -R mariadb:mariadb /home/mysql/data/

mkdir /home/wwwlogs/mysql/ && chown -R mariadb:mariadb /home/wwwlogs/mysql/

修改配置文件如下:
vim /etc/my.cnf

mysql数据库服务器的防火墙设置:以自己内网IP为准

mysql数据库服务器添加web使用帐号:
grant all privileges on haitian.* to haitian@’%’ identified by ‘<passwod>’;
flush privileges;

mysql数据库服务器添加定时任务:
crontab -e
0 0 * * * mysql -uroot -p<passwod> -e “flush logs”

17.web服务器添加定时任务:

root账号下
crontab -e
添加:
* * * * * cd /data/wwwroot/dep/payment/current/admin/shell && php jobs.php
重启:
/bin/systemctl restart crond.service
查看状态
/bin/systemctl status crond.service

18.常用命令

导出数据库
mysqldump -u root -p tiandihui -R -E –triggers > tiandihui.sql 数据库名字 导出所有东西

19.安装其他软件

安装composer
php -r “copy(‘https://install.phpcomposer.com/installer’, ‘composer-setup.php’);”
php composer-setup.php
php -r “unlink(‘composer-setup.php’);”
sudo mv composer.phar /usr/local/bin/composer
修改为中国镜像(全局)
composer config -g repo.packagist composer https://packagist.phpcomposer.com
修改为中国镜像(项目根目录)
composer config repo.packagist composer https://packagist.phpcomposer.com
安装topthink/think-migration数据库迁移工具
composer require topthink/think-migration 1.1.1
安装nodejs
https://github.com/nodesource/distributions
安装deployer php发布工具
https://deployer.org/docs/getting-started.html
deployer 发布命令
dep deploy prod –tag=v1.0.0

转载请注明:XAMPP中文组官网 » PHP环境部署和发布工具安装

您必须 登录 才能发表评论!