##nginx와 PHP의 관계
[root@web01 ~]# cat /etc/nginx/conf.d/02-blog.conf
server {
listen 80;
server_name blog.oldboy.com;
access_log /var/log/nginx/access_blog.log main;
root /usr/share/nginx/html/blog;
location / {
index index.php index.html index.htm;
}
location ~* \.(php|php5)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
fastcgi_pass 127.0.1: 9000; php(9000 포트) 정적 리소스를 통해 동적으로 fastcgi_pass를 통해 중개자(fastcgi)
fastcgi_index index.php; 사이트 디렉터리
fastcgi_param
SCRIPT_FILENAME 스크립트 이름
document_root 사이트 디렉터리
fastcgi_script_name 연결 요청 URI
## Mariadb 데이터베이스
1.MySQL 사전 설치, MySQL의 mariadb 서비스 재개
2.프로세스 번호 보기ss-lntup | grep mysql
3.프로세스 보기ps-ef | grep mysql
4.mysql 명령을 실행합니다.
시스템에 있는 모든 데이터베이스를 보는 명령어
쇼 databases;
끝에는 스코어를 붙여야 한다
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.01 sec)
MariaDB [(none)]>
데이터베이스 테이블 보기( 줄)
MariaDB [(none)]> show tables from mysql;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
24 rows in set (0.00 sec)
시스템의 모든 사용자 정보 보기
user 테이블에서 user 보기host 필드와
select user, host from mysql.user
user와 host 둘 다 표시mysql 데이터베이스에 있는 각 필드의 user 테이블에서 찾다
MariaDB [(none)]> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | web01 |
| root | web01 |
+------+-----------+
6 rows in set (0.00 sec)
MariaDB [(none)]>
MariaDB [(none)]> #select * from wordpress.wp_posts\G #모든 테이블 보기 내용 정렬하기
MariaDB [(none)]> #select * from wordpress.wp_posts limit 1 \G #내용 정렬을 위해 한 줄만 보기
MariaDB [(none)]> #select user,host from mysql.user; #user 테이블의 user 및 host 필드 보기 (시스템에서 모든 사용자 정보 보기)
MariaDB [(none)]> #use mysql; #데이터베이스 테이블로 전환
MariaDB [mysql]> #select user,host from user; #표에 들어가면 절대 경로 mysql을 추가하지 않고 상대 경로의 user와 host 필드를 봅니다
새 데이터베이스 만들기wordpress
create database wordpress
마지막으로 데이터베이스 이름
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wordpress |
+--------------------+
5 rows in set (0.00 sec)
MariaDB [(none)]>
사용자 생성 권한, 비밀번호, 로그인 허용
grant all on wordpress.* to 'wordpress'@'172.16.1.%' identified by '123456';
grant all on wordpress.* to 'wordpress' @ 'localhost' identified by '123456';
>grant 사용자 생성 및 권한 부여
>all 소유권한도
>on 지정한 건
>wordpress.* wordpress 데이터베이스의.모든 테이블
>
>'wordpress'@'localhost' ‘아이디 '@'ip. 로그인' (%==*)
>identified by '123456'; 비밀번호는 '123456';
삭제( 주의사항)
테이블 삭제: drop database lcx;
사용자 삭제: dropuser lcx@'172.16.1.%';
빈 사용자 삭제: drop user ''@'localhost';
### 권한 정보 새로 고침
flush privileges
사용자 정보 수정 후 필요권한 정보를 업데이트하려면 다음과 같이 하십시오.
###ctrlcmysql을 종료하고 새로 만든 데이터베이스 사용자로 다시 이동
mysql-uwordpress-p
-p 후 직접 비밀번호 입력할 수 있다
-u와 -p 이후에는 추가할 수 없습니다.공백
-u:MySQ 연결L 서버의 사용자 이름
-p:MySQ 연결L 서버의 암호
데이터베이스 백업
패키지 + 시간 지정 작업 + rsync
백업:
전체 테이블 백업:
mysqldump-uroot-p-A >/root/all.sql
wordpress 테이블 백업:
mysqldump-uwordpress-p123456-A >/root/wordpress.sql
백업 및 압축
mysqldump-uroot-p-A|gzip >/root/all-gzip.sql.gz
백업된 데이터베이스 복원: mysql-uroot -p </root/all.sql
PHP 환경을 구축하다
1.수정/etc/php-fpm.d/wwconf에서 user와group은 nginx
2.사용자와 사용자 그룹이 nginx인지 확인
egrep-n'user | group'/etc/php-fpm.d/ www.conf
3. php-fpm.service 서비스를 다시 시작합니다.
systemctl restart php-fpm.service
4.포트 번호와 프로세스 보기 (9000)
ss-lntup|grep 9000
ps-ef | grep php
[12:45 root@web01 /etc/nginx/conf.d]# egrep -n '^user|^group' /etc/php-fpm.d/www.conf
8:user = nginx
10:group = nginx
[12:45 root@web01 /etc/nginx/conf.d]# systemctl restart php-fpm.service
[12:45 root@web01 /etc/nginx/conf.d]# ss -lntup|grep 9000
tcp LISTEN 0 128 127.0.0.1:9000 *:* users:(("php-fpm",pid=9013,fd=9),("php-fpm",pid=9012,fd=9),("php-fpm",pid=9011,fd=9),("php-fpm",pid=9010,fd=9),("php-fpm",pid=9009,fd=9),("php-fpm",pid=9008,fd=7))
[12:45 root@web01 /etc/nginx/conf.d]# ps -ef |grep php
root 9008 1 1 12:45 ? 00:00:00 php-fpm: master process (/etc/php-fpm.conf)
nginx 9009 9008 0 12:45 ? 00:00:00 php-fpm: pool www
nginx 9010 9008 0 12:45 ? 00:00:00 php-fpm: pool www
nginx 9011 9008 0 12:45 ? 00:00:00 php-fpm: pool www
nginx 9012 9008 0 12:45 ? 00:00:00 php-fpm: pool www
nginx 9013 9008 0 12:45 ? 00:00:00 php-fpm: pool www
root 9017 7472 0 12:45 pts/1 00:00:00 grep --color=auto php
Nginx와 PHP 사이
5. blog 사이트 디렉터리로 전환하여 php로 끝나는 파일을 추가합니다.
vim info.php
php의 구문 형식 주의
[12:50 root@web01 /etc/nginx/conf.d]# cd /usr/share/nginx/html/blog/
[12:50 root@web01 /usr/share/nginx/html/blog]# vim info.php
<?php
phpinfo();
?>
브라우저 http://10.0.0.7/info.php
액세스가 표시되지 않으면, Nginx가 PHP에 요청을 던지지 않고 nginx의 구성을 주로 보기 때문입니다.
먼저 02-blog.conf 구성 파일이 첫 번째가 되도록 하고 다른 구성 모듈을 압축하거나 주석을 달도록 한다
두 번째는 배치한 내용에 오류가 있는지 여부, 효력이 발생하는지 여부이다
PHP와 MySQL 사이:
6.blog 사이트 디렉터리에 두 번째 파일 mysqli.php
[root@web01 /blog]# vim mysqli.php
<?php
$servername = "localhost";
$username = "wordpress";
$password = "123456";
// 연결 만들기
$conn = mysqli_connect($servername, $username, $password);
// 연결 감지
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "php가 MySQL 데이터베이스에 연결되었습니다";
?>
웹 브라우저로 웹 사이트를 방문하십시오.
HTTP: //10.0.0.7/mysqli.php
워드프레스 블로그를 만들다
홈페이지: https://cn.wordpress.org/
워드프레스 오픈소스 블로그 압력축소판 링크:
https://pan.baidu.com/s/1KOI3FZV8VY22rxD731pp0g 추출 코드: 7naq
압축을 푼 후 wordpress의 모든 내용을 블로그 사이트 디렉터리로 이동합니다
권한 blog 사이트 디렉터리의 호스트 그룹은 nginx입니다
[root@web01 ~]# chown -R nginx.nginx /usr/share/nginx/html/blog/
[root@web01 ~]# ll -d /usr/share/nginx/html/blog/
drwxr-xr-x 5 nginx nginx 4096 Jun 6 21:03 /usr/share/nginx/html/blog/
브라우저 http://10.0.0.7 입력
'개발 꿀팁 > PHP' 카테고리의 다른 글
PHP8 신기능 소개 (0) | 2022.07.16 |
---|---|
PHP에서 시스템 명령 실행 (disable_functions 바이패스) (0) | 2022.07.15 |
얘기 좀 하자~ PHP의 GC (0) | 2022.07.15 |
PHP 로케일 설정 (0) | 2022.07.15 |
PHP 배열이 연속 디지털 인덱스로 재설정되는 몇 가지 방법 (0) | 2022.07.15 |