แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - อั๋น ทรงวุฒิ

หน้า: [1] 2 3 ... 9
1
อ้างถึง
VBoxmanage modifyhd MyLinux.vdi --resize 100000

100,000 => 100GB

จากนั้นใช้โปรแกรมประเภท Paritiion Magic หรือ Gparted ทำการขยายขนาด Partition  ได้โดยข้อมูลไม่หาย

2
เกี่ยวกับเซิร์ฟเวอร์ [ Network Server ] / DOCKER : PostgreSQL and pgAdmin
« เมื่อ: 07 กุมภาพันธ์ 2019, 10:31:39 AM »
20 นาทีพร้อมใช้ : การเตรียม Postgresql และ pgAdmin ใน Ubuntu

1 ) ลง Ubuntu จาก ไฟล์ .iso แนะนำให้ลงแบบ Textmode จากนั้นใช้สิทธิ์ root ในข้อถัดไปทุกขั้นตอน

2 ) อัพเกรดระบบเป็นตัวล่าสุด
อ้างถึง
apt update && apt upgrade -y

3 ) ติดตั้ง Docker ซึ่งจะมีหน้าที่เหมือนตู้ Container ให้ระบบฐานข้อมูลอยู่ในนั้น
อ้างถึง
apt install -y  docker.io 

4 ) ติดตั้ง docker-compose เป็นตัวจัดการโปรแกรม ให้ทำงานแบบเป็นไฟล์สคริปต์

อ้างถึง
curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

5 ) เปิดโหมดไฟล์สคริปต์ที่โหลดมาจากข้อ 4 ให้สามารถ execute ได้

อ้างถึง
chmod +x /usr/local/bin/docker-compose

6 ) เตรียมพื้นที่สำหรับเก็บข้อมูลระบบของเรา

อ้างถึง
mkdir /var/docker/pg10 && cd /var/docker/pg10


7 ) สร้างไฟล์ docker-compose.yml ด้วยคำสั่ง

อ้างถึง
nano docker-compose.yml

โปรดระวังเรื่องการจัดย่อหน้าให้ตรงกัน

โค๊ด: [Select]
version : '2'
services :
pgsql:
  container_name: pgsql
  image: postgres:10.6-alpine
  ports:
    - "5432:5432"
  environment:
    - POSTGRES_PASSWORD=hosxp
    - POSTGRES_USER=hosxp
    - POSTGRES_DB=hosxp
  volumes:
    - ./data:/var/lib/postgresql
  restart: always
 

pgadmin:
  container_name: pgadmin
  image: fenglc/pgadmin4:python3.6-alpine
#   user : [email protected], passwd : admin

  ports:
    - "5050:5050"

8 ) ดำเนินการขึ้นระบบค้วยคำสั่งเดียว ซึ่งมันจะ Download โปรแกรมทั้งหมด และ config ให้เราพร้อมใช้งาน

อ้างถึง
docker-compose up -d

9 ) ทดสอบใช้ Navicat เชื่อมต่อ หรือ เข้า Browser => http://(ip เครื่อง):5050


ข้อมูลจะอยู่ใน /var/docker/pg10/data ปิดเครื่องแล้วไม่หาย

3
ในบางครั้งเปิดไฟล์งานเก่าที่ใช้รหัสภาษาไทยแบบ Windows 874 หรือ Tis-620 ใน MS Visual Studio Code (vscode)
ซึ่งปัจจุบันนิยมใช้รหัสแบบ UTF-8 ที่รองรับหลายภาษา ทำให้มองเห็นตัวอักษรภาษาไทยเพี้ยน อ่านไม่รู้เรื่อง

วิธ๊แก้ไข ให้ดูมุมขวาล่างของจอ มันจะแสดง Codepage ล่าสุดที่ใช้อยู่
ให้กด Reopen with Encoding แล้วเลือกรหัสภาษาให้ถูก

4
อ้างถึง
hostnamectl set-hostname (ชื่อใหม่)

[ /etc/cloud/cloud.cfg ]

อ้างถึง
preserve_hostname: true

[/etc/hosts]
อ้างถึง
127.0.0.1       localhost
127.0.1.1       ชื่อใหม่

5
ถ้าพื้นที่ใน server กำลังจะเต็ม จะทำอย่างไร ?

ทางแก้คือสร้าง NFS share พื้นที่ข้ามเครื่อง จากนั้นก็จะมี folder โล่งๆ ให้รับข้อมูล

ปกติการใช้ mysqldump จะมีข้อเสียคือ ระหว่าง backup ฐานข้อมูลจะถูกล็อคการบันทึก ซึ่งถ้าเป็นหลัก 10GB ขึ้นไป ต้องรอกันนาน

ทางออกคือใช้โปรแกรม Percona XtraBackup (https://www.percona.com/doc/percona-xtrabackup/LATEST/index.html)

อ้างถึง
xtrabackup --backup  --target-dir=/data/backups --datadir=/var/lib/mysql

ฐานข้อมูลขนาด 250GB ใช้เวลาประมาณ 1 ชั่วโมง 30 นาที

จากนั้นต้องทำการ prepare ก่อนนำข้อมูลไป restore

อ้างถึง
xtrabackup --prepare --target-dir=/data/backups/

แล้วทำการ สำเนา /data/backup ไปเครื่องปลายทาง


6
mysql-bin.000001 จะบันทึกร่องรอยของการแก้ไขเพิ่มเติมในฐานข้อมูล ซึ่งเครื่อง slave ก็จะอ่านไป update เครื่องตัวเองให้ตรงกับ Master
นอกจากนี้เครื่อง Master ก็ควรตั้งเวลาให้ Log ถูกลบอัตโนมัติภายในกี่วัน ซึ่งถ้าไม่ทำ อาจจะทำให้ Harddisk เต็มได้

[my.cnf]

อ้างถึง
[mysqld]
log-bin=mysql-bin
server-id=1
expire_logs_days=3

การลบ Log แบบ Manual ทำได้ด้วยคำสั่ง PURGE BINARY LOGS TO 'mysql-bin.03';
มันจะไล่ลบข้อมูลก่อนหน้าจนถึงไฟล์ที่เราระบุไว้ หรืออาจจะระบุเป็นวันก็ได้
PURGE BINARY LOGS BEFORE '2008-12-15 10:06:06';
ประโยชน์อีกอย่างของ bin log คือ ใช้แกะรอยความเปลี่ยนแปลงใน database ได้
mysqlbinlog binlog_files > newer_transaction.sql

7
เหมือนว่าคำสั่ง sysv-rc-conf ใน ubuntu 18.04 จะถูกถอดออกไปแล้ว คำสั่งที่น่าจะใช้การแทนได้คือ
อ้างถึง

systemctl status
systemctl stop some-service
systemctl disable some-service



8
เกี่ยวกับเซิร์ฟเวอร์ [ Network Server ] / Network config : Ubuntu 18.04
« เมื่อ: 20 กันยายน 2018, 01:25:57 PM »
[ /etc/netplan/01-network-manager-all.yaml ]

อ้างถึง
network:
 version: 2
 renderer: networkd
 ethernets:
   enp3s0: (เปลี่ยนเอง)
     dhcp4: no
     dhcp6: no
     addresses: [192.168.1.100/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]


netplan apply  แล้วทำการ Restart ก็ควรจะใช้การได้

9
ปกติ ถ้าผู้ใช้งานเรียกหน้าเว็บที่ไม่มีอยู่จริง มันจะขึ้นข้อความว่า

อ้างถึง
Oops! That page can’t be found.

It looks like nothing was found at this location. Maybe try one of the links below or a search?

นั่นหมายความว่า คะแนน SEO ในเว็บก็จะตก ทางแก้คือ หาไม่เจอก็ให้มันโผล่ไปที่หน้าแรก

การแก้ไขคือ ให้สร้างไฟล์ 404.php ใน theme ของเรา

อ้างถึง
<?php
// Permanent redirection
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://www.".$_SERVER["SERVER_NAME"]);
exit();
?>

10
บทความ บันทึกวิธีทำ กันลืม - Article & HowTO / zte f327 np code
« เมื่อ: 18 มิถุนายน 2018, 11:47:19 AM »
12345678 ok

11
ท่านที่เคยศึกษาเกี่ยวกับ php มาบ้างแล้ว อยากลองเปลี่ยนมาเขียน php แบบใช้ framework ผมขอแนะนำ yii framework ครับ

ผมย่อเนื้อหาโดยสรุปไว้ 20 นาที คิดว่าน่าจะง่ายกว่า laravel ครับ

เนื่องจากเนื้อหาค่อนข้างเก่า ในคลิปแนะนำ wamp server ผมขอเปลี่ยนให้ใช้ xampp แทนนะครับ หรือจะใช้ docker ได้ยิ่งดี

อ้างถึง
https://www.youtube.com/playlist?list=PLkmypgSymm9lmeFpSvgLIqI5VjQrk99jW


12
อ้างถึง
#aptitude install convmv

อ้างถึง
#convmv -f TIS-620 -t UTF-8 -r --notest  foldername


13
yii basic

อ้างถึง
<?php

$params = require __DIR__ . '/params.php';
$db = require __DIR__ . '/db.php';

$config = [
    'id' => 'basic',
  'name'=>'คลังพัสดุ การไฟฟ้าส่วนภูมิภาคจังหวัดแพร่',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'aliases' => [

14
การติดตั้ง

อ้างถึง
# add-apt-repository ppa:chris-lea/redis-server
# apt-get update
# apt-get install redis-server

ทดสอบการทำงาน

อ้างถึง
redis-benchmark -q -n 1000 -c 10 -P 5

ตัวอย่างผลลัพธ์

อ้างถึง
PING_INLINE: 142857.14 requests per second
PING_BULK: 166666.67 requests per second
SET: 43478.26 requests per second
GET: 142857.14 requests per second
INCR: 71428.57 requests per second
LPUSH: 125000.00 requests per second
RPUSH: 166666.67 requests per second
LPOP: 142857.14 requests per second
RPOP: 142857.14 requests per second
SADD: 166666.67 requests per second
HSET: 142857.14 requests per second
SPOP: 200000.00 requests per second
LPUSH (needed to benchmark LRANGE): 125000.00 requests per second
LRANGE_100 (first 100 elements): 22727.27 requests per second
LRANGE_300 (first 300 elements): 7352.94 requests per second
LRANGE_500 (first 450 elements): 4807.69 requests per second
LRANGE_600 (first 600 elements): 3278.69 requests per second
MSET (10 keys): 66666.66 requests per second

15
ขณะที่ ssh เข้า server ไปแก้ไขไฟล์นึงอยู่ ยังไม่ทันได้ save งาน
เน็ตเจ้ากรรมไม่เสถียร ทำให้ ssh หลุด
พอ connect กลับเข้าไปอีกที

อ้างถึง
ps ax

อ้างถึง

..
25190 pts/0    S+     0:00 pico backup-web.sh
..


งานของเราค้างอยู่ใน process
จะกลับเข้าไปแก้ที่หน้าจอเดิมจะทำไง

ทางออก สำหรับคุณ

ติดตั้ง reptyr

อ้างถึง
aptitude install reptyr


พอเราเรียกคำสั่ง reptyr ตามด้วยหมายเลข process

อ้างถึง
reptyr 25190

ท่านก็จะกลับเข้าไปทำงานต่อได้ สบายแฮ

หน้า: [1] 2 3 ... 9