在云服务器上部署项目
- 以腾讯云为例
远程登录云服务器
在腾讯云中添加SSH密匙(会提示保存一个文件
),并绑定到所购买的云服务器上,在本地打开终端输入:
先赋予仅本人可读权限
chmod 400 <下载的与云服务器关联的私钥的绝对路径>
输入以下指令即可远程登录
ssh -i “<下载的与云服务器关联的私钥的绝对路径>” <username>@<hostname or ip address>
- username根据购买服务器种类而定,ubuntu的为
ubuntu
,其他的为root
- hostname为
域名
,也可以填写ip地址
搭建环境
更新列表
sudo apt-get update
安装语言包
sudo apt-get install language-pack-zh-han*
locale-gen zh_CN.UTF-8
安装常用软件
sudo apt-get install -y vim git zip unzip
安装配置PHP
sudo apt-get install -y software-properties-common
sudo LC_ALL=zh_CN.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
apt-cache search php7.2
sudo apt-get install -y php7.2
sudo apt-get install -y php7.2-mysql
sudo apt-get install -y php7.2-fpm
//另外根据laravel项目要求安装相应拓展
//配置php
sudo vim /etc/php/7.2/fpm/pool.d/www.conf
//36行修改为:listen = /run/php/php7.2-fpm.sock
sudo vim /etc/php/7.2/fpm/php.ini
//776行修改为:cgi.fix_pathinfo =1
安装MySQL
sudo apt-get install -y mysql-server
安装Nginx
//安装之前需确认是否安装了apache2,如果已经安装了apache2,需要先停止/卸载 apache2
//停止
sudo service apache2 stop
//卸载
sudo apt-get --purge remove apache2
sudo apt-get --purge remove apache2.2-common
sudo apt-get autoremove
//安装 nginx
sudo apt-get install -y nginx
配置:
sudo vim /etc/nginx/sites-available/default
server{
root /var/www/laravel-project/public;//自定义项目根目录,laravel-project为自定义项目名称
index index.php index.html index.htm
server_name localhost;//如果有域名改为域名
location / {
try_files $uri $uri/ /index.php?query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
//配置跨域访问
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'POST,GET,OPTIONS,DELETE';
add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Authorization';
}
location ~ /\.ht {
deny all;
}
}
本地将项目放到github上,服务器通过git拉去
将本地项目放到github上,先在github上创建新项目
cd /var/www/laravel-project
git init
git add -A
git commit -m "更改描述"
git remote add origin https://github.com/UserName/laravel-project.git //UserName为github用户名
git push -u origin master
在服务器上拉去代码
git pull //更新github上的代码
git clone https://github.com/UserName/laravel-project.git
配置laravel环境
通过composer官网获取最新四行代码
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
cd /var/www/laravel-project
composer install --no-dev
创建并修改.env文件
cd /var/www/laravel-project
sudo cp .env.example .env
sudo vim .env
APP_ENV = production
APP_DEBUG = false
DB_DATABASE = 数据库名
DB_USERNAME = 数据库用户名
DB_PASSWORD = 数据库用户密码
生成laravel key执行迁移
php artisan key:generate
php artisan migrate
修改权限并重启
sudo chown -R www-data:www-data /var/www
sudo chmod -R 777 /var/www/laravel-project/storage
service nginx restart
service php7.2-fpm restart
- 更新项目时,只需要在本地
git push origin master
,之后在项目目录git pull
更新即可