Linux 部署
本节介绍如何在 Ubuntu 系统上从零开始部署 SunPMS 招标采购系统。
1. 更新系统和安装必要工具
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git unzip software-properties-common
2. 安装 PHP 8.2 及扩展
# 添加 PHP PPA 源
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
# 安装 PHP 8.2 及必要扩展
sudo apt install -y php8.2-fpm php8.2-cli php8.2-mysql php8.2-redis \
php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip php8.2-gd \
php8.2-fileinfo php8.2-sodium php8.2-pcntl php8.2-bcmath
# 安装 xlswriter 扩展
sudo pecl install xlswriter
3. 安装 Redis
sudo apt install -y redis-server
sudo systemctl enable redis-server
sudo systemctl start redis-server
4. 安装 MySQL
sudo apt install -y mysql-server-5.7
sudo systemctl enable mysql
sudo systemctl start mysql
# 初始化数据库
mysql -u root -p
CREATE DATABASE ecp_purchasing CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'ecp_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON ecp_purchasing.* TO 'ecp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
5. 安装 Nginx
sudo apt install -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx
6. 安装 Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
7. 克隆项目代码
cd /var/www
sudo git clone https://gitee.com/ehewon/ecp-purchasing.git
cd ecp-purchasing
sudo composer install
8. 配置 Nginx
创建 Nginx 站点配置文件:
sudo nano /etc/nginx/sites-available/ecp-purchasing
添加以下配置:
server {
listen 80;
server_name your-domain.com;
root /var/www/ecp-purchasing/public;
index index.php index.html;
# 路由重写
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# PHP 处理
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
# WebSocket 代理
location /ws {
proxy_pass http://127.0.0.1:8282;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
# 禁止访问隐藏文件
location ~ /\. {
deny all;
}
# 静态资源缓存
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
}
启用站点配置:
sudo ln -s /etc/nginx/sites-available/ecp-purchasing /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
9. 设置目录权限
sudo chown -R www-data:www-data /var/www/ecp-purchasing
sudo chmod -R 755 /var/www/ecp-purchasing
sudo chmod -R 775 /var/www/ecp-purchasing/storage
sudo chmod -R 775 /var/www/ecp-purchasing/bootstrap/cache
10. 启动服务
# 启动 WebSocket 服务
php /var/www/ecp-purchasing/bin/ecp-timer start -d
php /var/www/ecp-purchasing/bin/ecp-workman start -d
php /var/www/ecp-purchasing/bin/ecp-queue start -d
# 设置定时任务
crontab -e
# 添加以下行:
# * * * * * php /var/www/ecp-purchasing/artisan schedule:run >> /dev/null 2>&1
部署完成
完成以上步骤后,访问您的域名即可看到 SunPMS 系统。默认后台地址为 /admin。
上一页
← 宝塔部署
下一页