Laravel项目部署上线(阿里云 Ubuntu 16.04)

时间:2023-03-28 10:02:50
第一次尝试把本地的项目上线,
购买了某云的轻量应用服务器, 镜像为Ubuntu 16.04 
直接运行 apt-get install nginx 出错
根据提示运行 apt-get update ,然后再运行安装命令 ,成功
Laravel项目部署上线(阿里云 Ubuntu 16.04)
然后官网还有这么一段话:
For Debian/Ubuntu, in order to authenticate the nginx repository signature and to eliminate warnings about missing PGP key during installation of the nginx package, it is necessary to add the key used to sign the nginx packages and repository to the apt program keyring. Please download this key from our web site, and add it to the apt program keyring with the following command:
sudo apt-key add nginx_signing.key
下载这个文件并运行这条命令即可,大意是为了认证nginx仓库签名,以及去除在安装nginx包时找不到PGP key的警告。
Laravel项目部署上线(阿里云 Ubuntu 16.04)
然后运行nginx,就可以访问ip地址看到nginx欢迎界面了!
Laravel项目部署上线(阿里云 Ubuntu 16.04)

然后是php的配置以及项目的投放。
安装PHP-fpm 这是一个PHPFastCGI管理器,
$ sudo apt-get install php7.2-fpm
找到配置文件的修改
重启php-fpm
Laravel项目部署上线(阿里云 Ubuntu 16.04)
修改服务器配置,由于没有域名所以使用ip地址
Laravel项目部署上线(阿里云 Ubuntu 16.04)
nginx无法开启,查看80端口,发现被进程占用
Laravel项目部署上线(阿里云 Ubuntu 16.04)
使用命令 killall -9 nginx 关掉所有进程
重启nginx: $ service nginx restart
查看nginx状态:$service nginx status
然后就正常了,但访问主页却出现500错误,应该是代码导致。
Laravel项目部署上线(阿里云 Ubuntu 16.04)
应该还是laravel项目需要配置一番,于是又在网上找寻一番,发现还是漏掉了很多关键的地方,下面的步骤亲测有效!
可惜我选的服务器只有1M带宽,果然很鸡肋,还需要进一步优化。
而且原来已经预装了Apache2,需要卸载,以及要安装composer,运行composer install 等等,还是要多多练习啊!
原文来自:
以下是搬运内容:
首先你需要一台阿里云/腾讯云服务器
安装系统选择 ubuntu 16.04
然后通过 ssh 登录远程服务器按下列步骤进行配置:
更新列表
apt-get update
安装语言包
sudo apt-get install -y language-pack-en-base
locale-gen en_US.UTF-8
安装常用软件
sudo apt-get install -y vim git zip unzip
安装PHP7
//请确保每一步没有出错,如果有报错,可尝试多安装几次
sudo apt-get install -y software-properties-common
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
apt-cache search php7.1
sudo apt-get install -y php7.1
sudo apt-get install -y php7.1-mysql
sudo apt-get install -y php7.1-fpm
sudo apt-get install -y php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring
安装 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
配置 PHP7
sudo vim /etc/php/7.1/fpm/php.ini
//修改 cgi.fix_pathinfo=0
sudo vim /etc/php/7.1/fpm/pool.d/www.conf
//修改 listen = /var/run/php7.1-fpm.sock
配置 Nginx
sudo vim /etc/nginx/sites-available/default
//修改如下,根据自己的项目情况修改对应信息:'laravel-project'替换为你的项目,'server_domain_or_IP' 替换为你的网站域名或IP地址
server {
  listen 80 default_server;
  listen [::]:80 default_server;
  root /var/www/laravel-project/public;
  index index.php index.html index.htm;
  server_name server_domain_or_IP;
  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/php7.1-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}
拉取代码
//建议先将代码上传到云端代码仓库(github, coding)然后再在服务端上拉取
cd /var/www
git clone 地址
安装 Composer 并使用 Composer 安装代码依赖
访问 composer 官网 获取下面四行代码最新版,直接粘贴执行安装 Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
//然后移动 composer.phar
mv composer.phar /usr/local/bin/composer
//进入项目目录
cd /var/www/laravel-project
//执行 composer install
composer install
创建 .env 文件
cd /var/www/laravel-project
cp .env.example .env
vim .env
//根据项目实际情况修改 .env 文件
生成 laravel key
cd /var/www/laravel-project
php artisan key:generate
创建数据库,执行迁移
//首先登录 mysql 创建一个对应项目的数据库,名字应该和 .env 文件中的一致
cd /var/www/laravel-project
php artisan migrate
修改权限
sudo chown -R www-data:www-data /var/www
sudo chmod -R 777 /var/www/laravel-project/storage
重启 Nginx 和 PHP7 fpm
service nginx restart
service php7.1-fpm restart
搞定!