NIUHE

日々私たちが过ごしている日常というのは、実は奇迹の连続なのかもしれんな

记录:Archlinux搭建php,nginx,mysql开发环境

Installation

安装php

1
sudo pacman -S php

安装php-fpm

1
sudo pacman -S php-fpm

安装nginx

1
sudo pacman -S nginx

安装Mariadb

Mariadb是mysql的一个分支

1
2
3
4
5
6
7
 sudo pacman -S mysql
```

## Configuration

### 配置 Nginx
配置文件:/etc/nginx/nginx.conf

修改部分

把root目录移出loaction,并加上index.php

root /usr/share/nginx/html; location / { index index.html index.htm index.php; }

注释掉root和param,修改pass和inlude

location ~ .php$ { #root html; fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi.conf ; }

1
2
3
4
5
6
7
8
9
10

**web目录为 `/usr/share/nginx/html` **

### 配置 php-fpm
配置文件:/etc/php/php-fpm.conf

让 listen 的值与之前 nginx 配置中的 fastcgi_pass 值保持一致。

```shell
$ listen = /run/php-fpm/php-fpm.sock

配置php

配置文件: /etc/php/php.ini

open_basedir 中加上 nginx 服务器的根目录( /usr/share/nginx/html/ )。即告诉 php 程序要去解析那个目录下的 php 文件

1
open_basedir = /usr/share/nginx/html/:/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/

启用以下扩展。去掉那行开头的分号即可:

1
2
3
4
5
6
7
extension=curl.so
extension=gd.so
extension=gettext.so
extension=mysql.so
extension=mysqli.so
extension=phar.so
extension=pdo_mysql.so

配置数据库

1
2
3
4
5
6
7
8
9
10
11
# Install mariadb
$ mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

# starting the mysqld.service, 'd' is important
$ sudo systemctl start mysqld.service

# 设置root密码
$ mysql_secure_installation

# Upgrade MariaDB
$ mysql_upgrade -u root -p

启动服务器

设置为开机启动

1
2
3
$ sudo systemctl enable nginx.service
$ sudo systemctl enable mysqld.service
$ sudo systemctl enable php-fpm.service

启动服务器

1
2
3
$ sudo systemctl start nginx.service
$ sudo systemctl start mysqld.service
$ sudo systemctl start php-fpm.service

配置完毕


参考: Archlinux 上 Nginx + PHP + Mariadb + DiscuzX2.5 安装小记 MySQL-ArchWiki Nginx-ArchWiki

Powered by Hexo and Theme by Hacker
© 2019 NIUHE