Ubuntu 16.04 環境安裝部署 項目部署文檔

環境版本

Ubuntu 16.04
Nginx 1.15.5
PHP 7.3.0
MySQL 5.7
Composer 1.7.2
Git 2.7.4
複製代碼

安裝 Nginx

首先,添加 nginx_signing.keyjavascript

$ wget http://nginx.org/keys/nginx_signing.key
 $ wget http://nginx.org/keys/nginx_signing.key
複製代碼

添加 Nginx 官方源php

$ echo "deb http://nginx.org/packages/ubuntu/ trusty nginx" >> /etc/apt/sources.list
 $ echo "deb http://nginx.org/packages/ubuntu/ trusty nginx" >> /etc/apt/sources.list
複製代碼

若是你想安裝Nginx1.9以上的版本能夠在packages後添加/mainline,這是主線版本css

$ echo "deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx" >> /etc/apt/sources.list
 $ echo "deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx" >> /etc/apt/sources.list
複製代碼

更新源並安裝 Nginxhtml

$ sudo apt-get update
 $ sudo apt-get install nginx

// 開啓 nginx
$ /usr/sbin/nginx
複製代碼

Nginx配置

/etc/nginx/nginx.conf 文件中的第一行查看你的 Nginx 用戶。java

$ less /etc/nginx/nginx.conf
複製代碼

修改用戶和組python

PHP7 默認的用戶和組是www-data。 若是你的 Nginx 用戶名也是www-data,那麼不須要作下面的修改。 若是你的 Nginx 用戶名是 nginx,那麼你能夠在/etc/nginx/nginx.conf文件中將它修改爲www-data.mysql

$ sudo vi /etc/nginx/nginx.conf
複製代碼

重啓 Nginx 服務nginx

$ nginx -s reload
複製代碼

Laravel 項目 Nginx 配置git

/etc/nginx/conf.d 添加一個新的配置便可,配置以下redis

server {
    listen 80;
    server_name {domain_name};

    charset utf-8;

    access_log  /var/log/nginx/{name}.access.log  main;
    error_log  /var/log/nginx/{name}.error.log warn;

    root   /var/www/{project_name}/public;
    index  index.php index.html index.htm;

    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 6;
    gzip_types text/plain application/javascript application/x-javascript text/xml text/css;
    gzip_disable "MSIE [1-6]\.";
    gzip_vary on;

    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:/run/php/php7.3-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        fastcgi_param HTTP_X_FORWARDED_FOR '';
        fastcgi_param HTTP_X_REAL_IP '';
        fastcgi_param HTTP_CLIENT_IP '';
        fastcgi_param HTTP_PROXY '';
        include fastcgi_params;
    }
}
複製代碼

> {domain_name} - 替換成域名 > {name} - 保存的日誌名 > {project_name} - 項目名字 > root 是項目存放的地址,這個根據本身實際狀況修改

配置好後重啓 Nginx 服務

$ nginx -s reload
複製代碼

安裝 PHP

添加 PPA

$ sudo apt-get install python-software-properties software-properties-common
 $ sudo add-apt-repository ppa:ondrej/php
 $ sudo apt-get update
複製代碼

安裝 PHP7 以及所需的一些擴展

$ sudo apt-get install php7.3-fpm php7.3-mysql php7.3-common php7.3-curl php7.3-cli php7.3-mbstring php7.3-xml php7.3-bcmath
複製代碼

配置 PHP7

$ sudo vim /etc/php/7.3/fpm/php.ini
複製代碼

找到cgi.fix_pathinfo選項,去掉註釋,而後將值設置爲0

cgi.fix_pathinfo=0
複製代碼

重啓 PHP7

$ sudo service php7.3-fpm restart
複製代碼

安裝MySQL

$ sudo apt-get install mysql-server-5.7 mysql-client-5.7
複製代碼

途中會提示設置MySQL的密碼,安裝後運行:

$ mysql -uroot -p
複製代碼

安裝 Git

$ sudo apt-get git
複製代碼

安裝 Composer

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
 $ php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
 $ php composer-setup.php
 $ php -r "unlink('composer-setup.php');"
 $ sudo mv composer.phar /usr/bin/composer
複製代碼

安裝 Certbot

$ sudo apt-get update
 $ sudo apt-get install software-properties-common
 $ sudo add-apt-repository ppa:certbot/certbot
 $ sudo apt-get update
 $ sudo apt-get install python-certbot-nginx 
複製代碼

給項目設置證書,此命令會自動設置 nginx 配置,無需手動設置。

$ sudo certbot --nginx
複製代碼

設置部署公鑰

爲了方便部署等,這一步必需要設置,首先生成 ssh-key

$ ssh-keygen -t rsa -b 4096
複製代碼

將對應的公鑰複製,並在對應的項目倉庫部署公鑰處設置讀權限

$ cat ~/.ssh/id_rsa.pub
複製代碼

安裝 Redis

$ sudo apt-get install redis-server
複製代碼

使用

$ redis-cli
複製代碼

安裝項目

下載項目

$ cd /var/www
 $ git clone git@....
複製代碼

設置項目訪問權限

$ chown -R www-data:www-data {project_directory}
複製代碼

> 切忌:不要將項目權限設置爲 777,項目權限只能設置爲 755

安裝項目依賴

$ composer install -vvv
複製代碼

設置項目配置

$ cp .env.example .env
複製代碼
相關文章
相關標籤/搜索