Windows 10 / 11 / Server
در این راهنما، MyEMS را بر روی سرورهای Windows 10 / 11 / Server نصب خواهید کرد.
پیشنیازها
این راهنما نحوه نصب MyEMS را بر روی Windows 10، Windows 11 و Windows Server (2022) توضیح میدهد. نیازمندیهای سختافزاری به پایگاه داده انتخابی و تعداد دستگاههای متصل به سیستم بستگی دارد. برای اجرای MyEMS، MySQL و Python نسخههای 3.10، 3.11 یا 3.12 بر روی یک کامپیوتر، حداقل 8 گیگابایت رم لازم است.
کلون کردن کد منبع:
به صورت مدیر اجرا کنید، Windows PowerShell
cd C:\
git clone https://gitee.com/myems/myems
نصب Python 3.10
https://www.python.org/downloads/windows/
بسته نصب Python نسخه 3.10.11 64 بیتی برای سیستمهای 64 بیتی
دانلود نصبکننده ویندوز (64-bit)
بسته نصب Python را اجرا کنید و نصب کنید
دابل کلیک: python-3.10.11-amd64.exe
گزینه “Add py... to PATH” را علامت بزنید و روی “نصب سفارشی (customize installation)” کلیک کنید
مطمئن شوید که همه گزینهها، به خصوص pip (برای نصب کتابخانهها بعداً لازم است) علامت زده شده باشند؛ روی “بعدی” کلیک کنید
گزینه اول را علامت بزنید، توصیه میشود محل نصب Python را تغییر دهید و سپس روی “install” کلیک کنید
توجه: محل نصب پیشفرض: C:\Program Files\Python310 لطفاً به C:\Python310 تغییر دهید
پس از اتمام نصب، روی “بستن” کلیک کنید
در خط فرمان python را تایپ کنید، Enter را فشار دهید و اگر شماره نسخه Python ظاهر شد، نصب موفق بوده است
مرحله ۱ پایگاه داده
مراجعه کنید به Database
در ادامه، مراحل دقیق دانلود و نصب پایگاه داده MySQL آورده شده است (با استفاده از MySQL 8.0 به عنوان مثال، نسخه جامعه رایگان).
۱.۱ دانلود بسته نصب MySQL
۱. وبسایت رسمی را باز کنید: https://dev.mysql.com/downloads/mysql/ ۲. پلتفرم Windows را انتخاب کنید، معمولاً دو گزینه وجود دارد:
- mysql-installer-web-community (نصب آنلاین، حجم کم)
- mysql-installer-community (بسته کامل آفلاین، توصیه شده) ۳. روی Download کلیک کنید، اگر برای ورود به سیستم درخواست شد، رد کنید (No thanks, just start my download)
۱.۲ نصب MySQL
۱. برای اجرای نصبکننده دانلود شده، دابل کلیک کنید (ممکن است به مجوز مدیر نیاز باشد) ۲. نوع نصب را انتخاب کنید (توصیه شده Developer Default یا Custom)
- Developer Default: MySQL Server، Workbench، Shell و سایر ابزارهای رایج را نصب میکند
- Custom: امکان سفارشیسازی اجزا را فراهم میکند ۳. روی Next کلیک کنید، نصبکننده به طور خودکار وابستگیها را بررسی کرده و اجزای گمشده را دانلود میکند ۴. برای شروع نصب، روی Execute کلیک کنید، پس از اتمام روی Next کلیک کنید
۱.۳ پیکربندی MySQL Server
۱. Type and Networking
- Config Type: Development Computer را انتخاب کنید
- Port: پیشفرض 3306 (میتواند بدون تغییر باقی بماند)
- روی Next کلیک کنید
۲. Authentication Method
- توصیه میشود Use Strong Password Encryption (رمزگذاری مدرن) را انتخاب کنید
- یا گزینه دوم را انتخاب کنید (سازگاری با نسخههای قدیمی)
- روی Next کلیک کنید
۳. Accounts and Roles
- رمز root را تعریف کنید (حتماً به خاطر بسپارید)
- اختیاری: افزودن کاربر عادی (میتواند رد شود)
- روی Next کلیک کنید
۴. Windows Service
- Configure MySQL Server as a Windows Service را علامت بزنید
- Service Name: MySQL80 (پیشفرض)
- Start the MySQL Server at System Startup را علامت بزنید
- روی Next کلیک کنید
۵. Apply Configuration
- برای اعمال پیکربندی، روی Execute کلیک کنید
- تمام مراحل با علامت سبز به معنای موفقیت است
- روی Finish کلیک کنید
۱.۴ تکمیل نصب
۱. به کلیک روی Next ادامه دهید تا Finish ظاهر شود ۲. Start MySQL Workbench after Setup را علامت بزنید (اختیاری) ۳. برای خروج از جادوگر نصب، روی Finish کلیک کنید
۱.۵ بررسی نصب
روش ۱: تست از طریق خط فرمان
۱. Win + R را فشار دهید، cmd را تایپ کنید و Enter را فشار دهید
۲. تایپ کنید:
mysql -u root -p
۳. رمز root را که تعریف کردهاید وارد کنید
۴. اگر پرامپت mysql> ظاهر شد، نصب موفق بوده است
روش ۲: بررسی سرویس
۱. Win + R را فشار دهید ، services.msc را تایپ کنید و Enter را فشار دهید
۲. MySQL80 را پیدا کنید، وضعیت باید “در حال اجرا” باشد
۱.۶ تنظیمات اولیه رایج (اختیاری)
پس از ورود به MySQL، اجرا کنید:
-- مشاهده پایگاههای داده
show databases;
-- ایجاد پایگاه داده جدید
create database mydb;
-- ایجاد کاربر برای دسترسی از راه دور (اختیاری)
create user 'myems'@'%' identified by 'رمز';
grant all privileges on *.* to 'myems'@'%';
flush privileges;
مشکلات رایج
| مشکل | راه حل |
|---|---|
| پورت 3306 در حال استفاده است | در حین نصب به پورت دیگری تغییر دهید (مثال: 3307) |
| رمز root را فراموش کردهاید | لازم است MySQL را با نادیده گرفتن جدول مجوزها راهاندازی کنید، فرآیند پیچیده است |
| امکان راهاندازی سرویس وجود ندارد | بررسی کنید که پورت اشغال شده باشد یا گزارش رویداد ویندوز را بررسی کنید |
مرحله ۲ myems-api
- نصب سرویس myems-api:
# ۱. یک پنجره CMD جدید را به صورت مدیر باز کنید
# ۲. تعریف متغیرهای محیطی
set PIP_NO_USER=1
set PYTHONNOUSERSITE=1
# ۳. ورود به دایرکتوری پروژه
cd C:\myems\myems-api
# ۴. نصب مجدد تمام بستهها
C:\Python310\python.exe -m pip install --no-cache-dir --no-user -r requirements.txt
C:\Python310\python.exe -m pip install --no-cache-dir --no-user waitress
ایجاد فایل .env از example.env و ویرایش در صورت نیاز:
copy .\example.env .env
با یک ویرایشگر متن باز و ویرایش کنید C:\myems\myems-api\.env
اطلاعات پایگاه داده را تغییر دهید
نصب به عنوان سرویس ویندوز:
مراحل کامل نصب (اجرای CMD به صورت مدیر)
# ۱. حذف کامل تمام سرویسهای قدیمی
sc delete MyEMSAPI
# ۲. ایجاد دایرکتوری گزارشها
mkdir C:\myems\myems-api\logs 2>nul
# ۳. دانلود WinSW (اگر هنوز دانلود نشده است)
https://github.com/winsw/winsw/releases
WinSW-x64.exe را به MyEMSAPI.exe تغییر نام دهید
cd C:\myems\myems-api
# ۴. ایجاد فایل پیکربندی
`C:\myems\myems-api\MyEMSAPI.xml` را ایجاد کنید (با Notepad یا دستور زیر):
notepad C:\myems\myems-api\MyEMSAPI.xml
محتوای زیر را در دفترچه یادداشت کپی کنید:
<service>
<id>MyEMSAPI</id>
<name>MyEMS API Service</name>
<description>MyEMS API Service</description>
<executable>C:\Python310\python.exe</executable>
<arguments>-m waitress --listen=0.0.0.0:8000 app:api</arguments>
<workingdirectory>C:\myems\myems-api</workingdirectory>
<logmode>rotate</logmode>
<logpath>C:\myems\myems-api\logs</logpath>
<onfailure action="restart" delay="10 sec"/>
<stoptimeout>15 sec</stoptimeout>
<startmode>Automatic</startmode>
</service>
ذخیره کرده و دفترچه یادداشت را ببندید.
# ۵. نصب سرویس
MyEMSAPI.exe install
# ۶. راهاندازی سرویس
MyEMSAPI.exe start
# ۷. بررسی وضعیت
MyEMSAPI.exe status
# ۸. تست سرویس
curl http://localhost:8000
# ۹. در صورت خطا، گزارشها را بررسی کنید
C:\myems\myems-api\logs