Welcome to the website navigation,本站只接受合法正规的企业网站,欢迎站长们提交你的网站获得展示和流量有任何问题请联系站长,欢迎大家加入本站。

                
提交网站
  • 网站:76083
  • 待审:5
  • APP:577
  • 文章:304416
  • 会员:56004
文字内链包年1000元 文字内链包年1000元 文字内链包年1000元 AI办公网站 AI绘画工具 AIchat

名站导航为爱好php程序的朋友们提供php相关的教程知识。

今天下午写了一个简单的一键式自动虚拟主机搭建shell脚本,脚本实现自动配置nginx虚拟主机,自动创建ftp账户,自动创建数据库,用户,并自动实现mysql自动定时备份,日志切割,程序备份。r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

这里因为其他原因,就将备份机制去掉了,具体代码如下如下。r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

首先需要一个基础的nginx虚拟主机配置文件,一般情况下,我们配置虚拟主机都是建一个vhost目录,这里我在/etc/nginx下面建了一个default.conf文件r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

log_format  #host#  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
server {
        listen       80;
    server_name  #host#;
    root  #hosts#/#host#/html;
    index index.html index.htm index.php default.html default.htm default.php;
        location / {
                autoindex  on;
        }
        error_page  404              /404.html;
        # 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_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
         include        fastcgi_params;
         }

        # redirect server error pages to the static page /50x.html

        access_log  #hosts#/#host#/log/#host#.log  #host#;
}


r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

注意里面一些关键路径,我用特殊字符组合来表示,这样方便我们添加虚拟注意的时候进行匹配替换r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

host.sh脚本如下r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

#/bin/sh
hosts="/var/www/html" #主机总目录
default="/etc/nginx/default.conf"  #default.conf位置
vhost="/etc/nginx/vhost"  #虚拟主机配置文件目录
echo "1.add ftp user"
echo "please input websit:"
read host
if [ -d "$hosts/$host" ]
then
echo $hosts/$host
echo '[warning]dir is already exists!'
exit 0
fi
echo "add user,please input user name:"
read name
del -r $name >/dev/null 2>&1
adduser -d $hosts/$host -g ftp -s /sbin/nologin $name
passwd $name
chmod 755 $hosts/$host
mkdir -p $hosts/$host/html $hosts/$host/bak $hosts/$host/log
mkdir -p $hosts/$host/bak/code $hosts/$host/bak/sql
echo "mkdir:"$hosts/$host/html $hosts/$host/bak $hosts/$host/log
echo "mkdir:"$hosts/$host/bak/code $hosts/$host/bak/sql
chown -R $name:ftp $hosts/$host
echo "ok,add user success!name=$name,password=youwrite"
echo "If you need a database, please enter a database name, if not required, blank can be"
read database
if [ -n "$database" ]
then
echo "please input dbuser"
read dbuser
echo "please input dbpwd"
read dbpwd
hOSTNAME="127.0.0.1"
PORT="3306"
USERNAME="root"
echo "input root pwd"
read PASSWORD
fi
echo "2.To configure nginx"
cat $default | sed -e "s:#hosts#:${hosts}:g"|sed -e "s/#host#/${host}/g" > $vhost/$host.conf
/usr/sbin/nginx -s reload
echo "config nginx success"
if [ -z "$database"  ]
then
echo 'ok,finish!'
exit 0
fi
echo "3.add mysql user database"

create_db_sql="insert into mysql.user(host,User,Password) values('localhost','${dbuser}',password('${dbpwd}'))"
mysql -h${hOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "{create_db_sql}"
if [ $? -ne 0 ]
then
echo 'add db user error'
exit 0
fi
sleep 1
create_db_sql="create database IF NOT EXISTS ${database}"
mysql -h${hOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "{create_db_sql}"
if [ $? -ne 0 ]
then
echo 'add db error'
exit 0
fi
sleep 1
create_db_sql="flush privileges"
mysql -h${hOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "{create_db_sql}"

create_db_sql="grant all  on ${database}.* to ${dbuser}@localhost identified by '${dbpwd}'"
mysql -h${hOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "${create_db_sql}"
if [ $? -ne 0 ]
then
echo 'user to db user error'
echo $create_db_sql
exit 0
fi
create_db_sql="flush privileges"
mysql -h${hOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "{create_db_sql}"
echo 'ok,finish!'

看一下运行效果,sh host.shr1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

[root@localhost nginx]# sh 2.sh
1.add ftp user
please input websit:
hhh.com
add user,please input user name:
hhh
更改用户 hhh 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 是回文
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
mkdir:/var/www/html/hhh.com/html /var/www/html/hhh.com/bak /var/www/html/hhh.com/log
mkdir:/var/www/html/hhh.com/bak/code /var/www/html/hhh.com/bak/sql
ok,add user success!name=hhh,password=youwrite
If you need a database, please enter a database name, if not required, blank can be
hhh
please input dbuser
hhh
please input dbpwd
hhh
input root pwd
123456
2.To configure nginx
config nginx success
3.add mysql user database
ok,finish!
[root@localhost nginx]#

r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

系统会逐个询问输入参数,并且参数是先统一填完,然后程序进行执行,避免中间不小心输入错误无法修改,然后如果无需创建数据库,那么database参数不输入即可。r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

感兴趣的可以看一下。r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!


r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

名站网址导航

按每日时间段生成固定随机数小功能r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

r1lAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!

好了关于php程序的知识就说到这里希望可以帮助需要的朋友。,

标签:

分享到:

  admin

注册时间:

网站:0 个   APP:3 个  文章:0 篇

  • 76083

    网站

  • 577

    APP

  • 304416

    文章

  • 56004

    会员

赶快注册账号,推广您的网站吧!
文章分类
热门网站
最新入驻APP小程序

宝贝市场2023-02-08

宝贝市场——买手和卖家商品展示

夺宝助手2023-02-08

夺宝助手小程序,查看每日快夺宝平

查诚信2023-02-08

查诚信是一款免费的商业查询工具

车价天天报2023-02-08

快速连接汽车销售,获知汽车最新报

考勤助理小程序2023-02-08

上班签到考勤,实时定位,后台轻松

汽车报价大全查询2023-02-08

汽车报价大全查询提供最新汽车市