Skip to content

2.x_linux_install

ashang edited this page Aug 6, 2021 · 1 revision

由热心网友https://github.com/qinghuas 提供

前言

本教程适用于 debian / ubuntu 系统

配置 lnmp

更新源,并安装软件包

apt-get -y update
apt-get -y install git wget curl zip unzip screen ca-certificates

执行安装脚本

screen -S lnmp
wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz
tar zxf lnmp1.8.tar.gz
rm -rf lnmp1.8.tar.gz
cd lnmp1.8
./install.sh lnmp

如果在安装过程中 SSH 连接意外退出,可以执行以下命令切回安装进程

screen -r lnmp

以下信息供选择参考

  • 安装 MySQL 5.6 或 5.7 及 MariaDB 10 必须 >= 1G 内存,更高版本至少要 2G 内存
  • 设置你的 MySQL 密码并保存好
  • 启用 InnoDB 引擎,输入:Y
  • PHP 版本需大于 7.4,输入:10
  • 内存优化可以不安装,输入:1
  • 回车开始安装

等待安装完成

按 Ctrl + D 退出 screen 进程

安装 redis

cd /root/lnmp1.8
./addons.sh install redis

安装 opcache

./addons.sh install opcache

启用函数

sed -i 's/,proc_open//g' /usr/local/php/etc/php.ini
sed -i 's/,proc_get_status//g' /usr/local/php/etc/php.ini

添加 zip 模块

cd /root
wget http://pecl.php.net/get/zip-1.19.3.tgz
tar -zxvf zip-1.19.3.tgz
rm -rf zip-1.19.3.tgz
cd zip-1.19.3
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
cd /root

检查模块

php -m | grep fileinfo

输出 fileinfo

php -m | grep zip

输出 zip 即可

创建虚拟机

以下信息供选择参考

  • 登录你的域名服务商,添加一个 a 记录,记录值为服务器 ip
  • 执行:lnmp vhost add
  • 输入你的域名,例如:domain.com
  • 直接回车
  • 设置安装目录,可以设置:/home/wwwroot/dujiaoka
  • 输入:y
  • 输入:laravel
  • 输入:n
  • 输入:n
  • 输入:n
  • 询问是否启用 SSL,建议输入:y
  • 如果你选择启用 SSL,输入:2

回车开始配置

等待完成

移除防跨站限制

下文中,假设你的网站根目录是:/home/wwwroot/dujiaoka

cd /home/wwwroot/dujiaoka
chattr -i .user.ini
rm -rf .user.ini

还需要执行额外的命令

sed -i 's/^fastcgi_param PHP_ADMIN_VALUE/#fastcgi_param PHP_ADMIN_VALUE/g' /usr/local/nginx/conf/fastcgi.conf

重启 lnmp

lnmp restart

下载源代码

cd /home/wwwroot/dujiaoka
git clone https://github.com/assimon/dujiaoka.git .
chmod 755 -R *
chown www -R *
chmod 777 .env

创建数据库

  • 打开 SSH 客户端
  • 执行:mysql -uroot -p
  • 输入你的 MySQL 密码,回车
  • 执行:create database dujiaoka;
  • 按 Ctrl + D 退出

配置 nginx

  • 假设你的域名是:domain.com
  • 假设你的网站目录是:/home/wwwroot/dujiaoka
  • 配置文件的存放目录是:/usr/local/nginx/conf/vhost
  • 按下文教程配置时,注意修改演示配置中的域名和目录

进入配置文件存放目录,编辑 domain.com.conf ,将第一段 server 替换为如下内容

server
    {
        listen 80;
        server_name domain.com ;
        return 301 https://$server_name$request_uri;
    }

修改网站根目录(在原来的根目录设置后追加内容:/public

root  /home/wwwroot/dujiaoka/public;

确认存在以下内容

include rewrite/laravel.conf;

你可以参考下方的 nginx 配置模板

server
    {
        listen 80;
        server_name domain.com ;
        return 301 https://$server_name$request_uri;
    }

server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name domain.com ;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/dujiaoka/public;

        ssl_certificate /usr/local/nginx/conf/ssl/domain.com/fullchain.cer;
        ssl_certificate_key /usr/local/nginx/conf/ssl/domain.com/domain.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

        include rewrite/laravel.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log off;
    }

重新加载配置文件

lnmp nginx reload

composer 安装

cd /home/wwwroot/dujiaoka
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
composer install
composer update

访问安装页面

访问你的域名,进行安装

  • MySQL 数据库名:dujiaoka
  • MySQl 密码:你设置的密码
  • Redis 密码:无需填写
  • 网站URL:你的域名,如https://domain.com

编辑配置文件

编辑 /home/wwwroot/dujiaoka/.env

  • APP_DEBUG=true 改为 APP_DEBUG=false
  • 另起一行,添加 ADMIN_HTTPS=true
  • 尝试登入后台。如果提示 0 error ,刷新页面即可

配置 Supervisor

先安装

apt-get -y install supervisor

创建配置文件

echo "" > /etc/supervisor/conf.d/dujiaoka.conf

写入配置文件

  • 注意修改网站目录
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/wwwroot/dujiaoka/artisan queue:work
autostart=true
autorestart=true
user=www
numprocs=1
redirect_stderr=true
stdout_logfile=/home/wwwlogs/worker.log

启动

supervisorctl reread
supervisorctl update
supervisorctl start laravel-worker:*

配置网站

注意:在配置邮件服务前,你需要先在基本设置里配置各项必填项,邮件服务的配置才能正常保存

参考来源

https://www.moewah.com/archives/3826.html

https://github.com/assimon/dujiaoka/wiki/problems