基于阿里云服务器环境搭建到项目上线系列文章之六——项目部署

31 篇文章 0 订阅
24 篇文章 0 订阅

基于阿里云服务器环境搭建到项目上线系列
前言:最近购买了域名和一台阿里云服务器准备做点东西放上去,所以准备把环境搭建到项目上线的过程记录下来,计划一个系列6篇文章

  1. 基于阿里云服务器环境搭建到项目上线系列文章之一——putty使用秘钥登录远程服务器
  2. 基于阿里云服务器环境搭建到项目上线系列文章之二——搭建LNMP环境
  3. 基于阿里云服务器环境搭建到项目上线系列文章之三——安装git
  4. 基于阿里云服务器环境搭建到项目上线系列文章之四——安装composer
  5. 基于阿里云服务器环境搭建到项目上线系列文章之五——项目仓库github基本使用
  6. 基于阿里云服务器环境搭建到项目上线系列文章之六——项目部署

MYSQL数据库部署

允许远程连接服务器数据库

  • 设置允许远程连接前,测试连接:
    在这里插入图片描述

  • 设置允许远程连接
    登录服务器,登录mysql

    mysql -u root -p
    输入密码:******
    执行如下命令:
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的数据库密码' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

    此时,再连接服务器MySQL数据库,提示连接成功,如下:

    这说明允许远程连接设置已经成功了,但是我的ip地址连接强求被拒绝,此时可能是因为阿里云安全限制,需要去阿里云控制台设置3306安全组和ip白名单。

新增项目数据库用户和权限

  • 新增项目数据库
    create database yishubj character set = utf8;
    
  • 新增专属项目数据库用户
    CREATE USER 'yishubj'@'%' IDENTIFIED BY '设置此用户密码';
    GRANT ALL PRIVILEGES ON yishubj.* TO 'yishubj'@'%';
    flush privileges;
    
    服务器端MySQL登录成功,如图:
    在这里插入图片描述

项目数据库初始化

把自己设置的数据库表文件通过上面Navicat连接工具导入对应数据库即可,步骤如下:

  • 双击打开上一步创建的数据库(yishubj),右键该数据库名称(yishubj)=>运行SQL文件,跳出弹窗
  • 选中要导入的数据库表结构数据文件,设置编码,点击开始:
    在这里插入图片描述
    导入成功,会有成功提示,导入失败会有失败提示,如果失败,说明SQL文件有问题,请根据提示修改。
    在这里插入图片描述

nginx配置部署

新增域名配置文件

  • 登录服务器,创建域名配置文件
    cd /etc/nginx/conf.d/
    
    touch www_yishubj.conf
    #域名文件随意定义,以conf为文件后缀,会自动加载到nginx.conf文件内
    

新增配置内容

  • 执行命令打开配置文件
    cd /etc/nginx/conf.d/
    vim www_yishubj.conf
    
  • 直接上配置文件,将如下内容添加到文件内。如使用该配置文件,需要修改的地方下面会列出:
    server {
        listen       80;
        server_name www.yishubj.com m.yishubj.com;
        charset utf8;
        root    /home/www/mozhilin/;
        index  index.php index.html index.htm;
    
        client_max_body_size 200m;
        client_body_buffer_size 4096k;
        underscores_in_headers on;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
    
        location / {
            #root   /usr/share/nginx/html;
            #index  index.html index.htm;
    
    	try_files $uri $uri/ /index.php?&$args /index.php?$query_string;
    	if (!-e $request_filename){
        		rewrite ^/(.*) /index.php last;
    	} 
    	allow all;
    
    	#include /etc/nginx/cors.conf;
        }
    
        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }
        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }
        location ~* \.(css|png|jpg|jpeg|ico)$ {
                expires max;
                log_not_found off;
        }
        location ~ /(assets|upfile|uploads|tmp|log|css|js|images|statics|demo)/.*\.(php|php5)?$ {
                #deny all;
                allow all;
        }
    
        location ~ /(\.svn|\.git|\.ht|\.DS) {
                deny all;
                internal;
        }
    
        location ~ \.php($|/) {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_split_path_info  ^(.+\.php)(.*)$;
                fastcgi_param  PATH_INFO $fastcgi_path_info;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_param    PATH_TRANSLATED    $document_root$fastcgi_path_info;
                fastcgi_param  CI_ENV 'development';
        	    fastcgi_param access_token $http_access_token;
    	   		fastcgi_param refresh_token $http_refresh_token;
                include        fastcgi_params;
                #include        fastcgi.conf;
            }
    
        #error_page  404              /404.html;
    
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
    
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
    
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
    
  • 用到自己的环境中,需要修改的配置,如下:
    server_name www.yishubj.com m.yishubj.com;	#改为自己网站的域名
    root    /home/www/mozhilin/;	#改为自己项目在服务器上的目录地址
    

PHP项目部署

数据库连接配置

  • 设置database.php文件数据库连接
    $db['default']	= [
        'hostname'	=> '127.0.0.1',
        'username'	=> 'yishubj',
        'password'	=> '用户yishubj对应的密码',
        'database'	=> 'yishubj',
        'DBPrefix'	=> 'ysbj_',
    ];
    
    #这里根据自己的数据库配置文件填写相应信息,不同的框架配置文件不同,需灵活运用。
    

目录访问权限配置

  • 初次访问网站,可能会有提示某些目录没有访问权限,如cache、uploadfile、vendor等目录,这时,需要开发者登录到服务器进行权限设置
  • cache和uploadfile目录对www用户有写权限,这里是我项目的示例:
    cd /home/www/yishubj/
    chmod -R 777 cache
    chmod -R 777 uploadfile
    

至此,服务器项目部署上线工作已经完成,希望对阅读者有所帮助,且能够学会灵活运用,而不是照搬照抄。

********************只要思想不滑坡,办法总比困难多********************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值