ํ์ฌ๊น์ง์ ๋จ๊ณ
1. vim
2. ํ์ผ์ง๋ผ๋ก ์ ๋ก๋
3. sh๋ก htmlํ ํ๋ฆฟ ๋ง๋ค๊ธฐ
4. php๋ก htmlํ ํ๋ฆฟ
5. nginx์ ์์ฒญ๊ณผ php๋ฅผ ์ฐ๋(php-fpm์ด ์ค๊ฐ๋ค๋ฆฌ์ ์ญํ ์ ์ํ)
6. ์ฟ ํค ์ฌ์ฉ(ํด๋ผ์ด์ธํธ์์ ์์ฑ, ์ฟ ํค๋ฅผ ์๋ฒ์ธก์์๋ ๋ฐ๊ฟ ์ ์๋ค๋ ๋ฌธ์ ๊ฐ ์์ - ๋ณด์์ ์ฝํ๋ค)
7. ์ธ์ ์ฌ์ฉ(์๋ฒ์์์์ฑ, ์๋ฒ์ฌ์ด๋์ธ์ด์ ๋์์์ด๋ ์ด๋ฃจ์ด์ง ์ ์์)
--------------์ค๋ ํฌ์คํ ํ๋ ๋ด์ฉ -----------------------
8. ๊ธฐ์ต๋ ฅ(์น์๋ฒ : ๊ธฐ์ต๋ ฅ 0) -ํ์ผ ์ ์ฅ์ด ๊ท์ฐฎ๋ค
9. ๋๋น ์ฌ์ฉ - ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ ์ฅ/์กฐํํ ์ ์๊ฒ ํ๋ค.
8. ๊ธฐ์ต๋ ฅ
- ์น์๋ฒ : ๊ธฐ์ต๋ ฅ์ด ์์ ์๋ค.
- php : ๊ธฐ์ต๋ ฅ์ ์์ง๋ง, ์ฟ ํค ๋๋ ์ธ์
์ ์ด์ฉํด ์ฝ๊ฐ์ ์ ์ฅํ ์ ์๋ค.(ํ๋ฐ์ฑ์ด๋ค)
- php์์ ์๋ ๋ชจ๋ ๋ณ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค(ํ์ผ ์คํ์ด ๋๋๋ฉด ๋ ์๊ฐ)
- ์์์ฑ์ ์ ์งํ๊ธฐ ์ํด์๋ ํ์ผ์ ํํ๋ฅผ ์ด์ฉํ๋ค.
ํ์ผ ํตํด ๊ฐ ์ ์ฅํ๊ธฐ
//store_by_file.php
<?php
$name=$_GET['name'];
file_put_contents('data/1.txt', $name);
?>
//get_by_file.php
<?php
echo file_get_contents('data/1.txt');
?>
url ํ๋ผ๋ฏธํฐ๋ก name์ ๋ฐ์์ data/1.txt ํ์ผ์ ์ ์ฅํ๋ ์ฝ๋๋ค.
ํ์ฌ๋ data ํด๋๊ฐ ์์ผ๋ฏ๋ก ์์ฑํด์ค์ผ ํ๋๋ฐ, ์ฌ๊ธฐ์ ์ค์ํ ์ ์
์น ์๋ฒ๋ nginx๋ฅผ ํตํด ๋์์ง๊ธฐ ๋๋ฌธ์ nginx ๊ตฌ๋ ๊ณ์ ์ ์์ ์ด๊ณ ์ฐ๊ธฐ ๊ถํ์ด ์์ด์ผ ์ ์์ ์ผ๋ก ์๋น์ค ํ ์ ์๋ค๋ ์ ์ด๋ค.
๋ฐ๋ผ์ chmod 777 data ๋ช ๋ น์ด๋ฅผ ํตํด ๋๋ ํ ๋ฆฌ์ ์์ ์ ๊ถํ์ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ์ ์์ ์ผ๋ก ๊ฐ์ ์ฐ๊ณ , ๋ฐ์์ฌ ์ ์๋คโผ๏ธ
(์ด ๋ถ๋ถ์ ๊ฐ๊ณผํด์ ๋ฌธ์ ๋ฅผ ์ฐพ๋๋ฐ ์๊ฐ์ด ์ข ๊ฑธ๋ ธ๋ค.)

๊ทธ๋์ ์ด๋ ๊ฒ site4.com/store_by_file.php?name=์ด๋ฆ ์ ์ ๋ ฅํ๊ณ http://site4.com/get_by_file.php ์ ์ ์ํ๋ฉด

์ ๋ ฅ๋ฐ์ ํ๋ผ๋ฏธํฐ ๊ฐ๋๋ก ํ์ผ์ด ์ ์ฅ๋๊ณ ์ฝ์ด์ ธ์ ๋์จ๋ค!
ํ์ผ์ ์์์ ์ด๊ธฐ ๋๋ฌธ์ ํ์ผ์์ ๊ฐ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ง์ฐ์ง ์๋ ์ด์ ๊ณ์ ํด๋น ๊ฐ์ด ์ ์ง๋๋ค.
9. DB๋ฅผ ์ด์ฉํ ๊ฐ ์ ์ฅ
//store_by_db.php
<?php
$name = $_GET['name'];
// ์ ์ ์ ๋ณด
$dbHost = '127.0.0.1';
$dbId = 'dajung';
$dbPass = 'lion1065';
$dbName = 'site4_name';
// DB ์ฐ๊ฒฐ
$dbConn = mysqli_connect($dbHost, $dbId, $dbPass, $dbName) or die("DB CONNECTION ERROR");
// SQL INJECTION ๋ฐฉ์ด
$name = mysqli_real_escape_string($dbConn, $name);
$sql = "
INSERT INTO name
SET create_date = NOW(),
`name` = '{$name}'
";
mysqli_query($dbConn, $sql);
$id = mysqli_insert_id($dbConn);
db์ ์ ์ํ ํ database, table ์์ฑํ๊ธฐ!
mysql -u [์ ์ ์ด๋ฆ] -p
MariaDB [(none)]> DROP DATABASE IF EXISTS site4_name;
MariaDB [(none)]> CREATE DATABASE site4_name;
MariaDB [(none)]> USE site4_name;
MariaDB [(none)]> CREATE TABLE name (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
create_date DATETIME NOT NULL,
name VARCHAR(100) NOT NULL
);

php์์ database์ ์ ์ํ ์ ์๋ ํจํค์ง๋งค๋์ (php-mysqli) ์ค์น
sudo yum install php-mysqli
sudo systemctl restart php-fpm
์ด์ ์ฃผ์๋ฅผ ์ ๋ ฅํ๋ฉด


์ด๋ ๊ฒ ๊ฐ์ด ์ ์์ธ๋ค
+)ํ๊ธ ๊นจ์ง์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ
(๋งํฌ์ฒจ๋ถ)
DB์์ ๊ฐ ๋ฐ์์ค๊ธฐ(get_by_db.php)
<?php
// ์ ์ ์ ๋ณด
$dbHost = '127.0.0.1';
$dbId = 'dajung';
$dbPass = 'lion1065';
$dbName = 'site4_name';
// DB ์ฐ๊ฒฐ
$dbConn = mysqli_connect($dbHost, $dbId, $dbPass, $dbName) or die("DB CONNECTION ERROR");
$sql = "
SELECT *
FROM `name`
ORDER BY id DESC
LIMIT 100
";
$rs = mysqli_query($dbConn, $sql);
$rows = [];
while ( $row = mysqli_fetch_assoc($rs) ) {
$rows[] = $row;
}
?>
<h1>๋ช
๋จ</h1>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>๋ ์ง</th>
<th>์ด๋ฆ</th>
</tr>
</thead>
<tbody>
<?php foreach ( $rows as $row ) { ?>
<tr>
<td><?=$row['id']?></td>
<td><?=$row['create_date']?></td>
<td><?=$row['name']?></td>
</tr>
<?php } ?>
</tbody>
</table>
์ค๋ช : mysql ์ฟผ๋ฆฌ์ fetch ๊ฒฐ๊ณผ๋ฅผ rows์ ๋ฐฐ์ด์ ํํ๋ก ์ ์ฅํ๋ค.
๋ฐฐ์ด์ ๊ฐ์ foreach ๋ฌธ์ ํตํด ํ๋์ฉ ๊บผ๋ด์์ id, create_date, name์ ๊ฐ์ ๊ฐ๊ฐ ํ ์ด๋ธ์ ์ปฌ๋ผ์ ๋ด๊ณ , ์ถ๋ ฅํ๋ค.

๊ฒฐ๊ณผ!
'๐ค study > Infra' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธํ๋ผ] ํฌํธํฌ์๋ฉ | CentOS9 ํฌํธํฌ์๋ฉ | ์ธํ๋ผ ์ธํ ๋ฐฉ๋ฒ (1) (0) | 2022.08.19 |
---|