安装Nginx
为了确保获得最新的Nginx,可以先使用 apt-get update 命令更新源列表。
使用命令自动安装nginx:
$ apt-get install -y nginx安装好之后,使用 dpkg -S nginx 命令来搜索 nginx相关文件。
可以从命令显示结果看出 Nginx默认的安装位置是/etc/nginx目录,其配置文件nginx.conf也是在该目录下,并且在 etc/init.d下有 nginx的启动程序,该目录下的程序都会在系统开启时启动。
此外,Nginx的默认网站目录是 /usr/share/nginx/html/,默认Nginx网站配置文件为 /etc/nginx/sites-available/default 。
启动 Nginx服务,使用下面两个命令任意一个即可:
$ /etc/init.d/nginx start|stop|status或者是
$ service nginx start|stop|status使用 netstat -anp 则可以看到80端口已经处于 LISTEN状态了。
直接查看80端口可以使用命令:sudo lsof -i :80
在本地浏览器输入 ip地址 后,就可以看见 Nginx的欢迎页面了。
安装PHP
1、添加PHP源
$ apt-get install -y software-properties-common python-software-properties
$ apt-get update
$ add-apt-repository ppa:ondrej/php
$ apt-get update2、安装 PHP及扩展(以PHP8.1为例)
以下是我常用的PHP扩展,可以根据自己需求进行增减
$ apt-get install -y php8.1 php8.1-gmp php8.1-readline php8.1-sqlite3 php8.1-tidy php8.1-xml php8.1-bcmath php8.1-bz2 php8.1-intl php8.1-mbstring php8.1-soap php8.1-xsl php8.1-cli php8.1-common php8.1-curl php8.1-dev php8.1-fpm php8.1-gd php8.1-grpc php8.1-http php8.1-mbstring php8.1-mcrypt php8.1-mongodb php8.1-mysql php8.1-oauth php8.1-pgsql php8.1-opcache php8.1-redis php8.1-snmp php8.1-yac php8.1-zip php8.1-raphf可以使用 php -v 命令来查看 PHP 版本信息。
3、以下是PHP常见的错误解决办法:
> E: Unable to locate package php7.1
> E: Couldn't find any package by regex 'php7.1'使用下列命令:
$ apt-add-repository ppa:ondrej/php
$ apt-get update如果报以下错误:
> add-apt-repository: command not found则使用以下命令:
$ sudo apt-get install software-properties-common python-software-properties
$ apt-get updateNginx 与 PHP-FPM集成
PHP-FPM 与 Nginx 通信方式有两种:
一种是基于TCP的 Internet domain socket 方式,一种是 UNIX domain socket 方式。
UNIX domain socket 可以使同一台操作系统上的两个或多个进程进行数据通信。
UNIX domain socket 的接口和 Internet domain socket 很像,但它不使用网络底层协议来通信。
服务器压力不大的情况下,这两种方式性能差别不大,但在压力比较满的时候,用UNIX domain socket方式,效果确实比较好。
在 /etc/nginx/sites-available/default 配置文件中(网站根目录也在是这里更改), Nginx已经为与 PHP-FPM的整合准备好了,只需要将下面这部分改好就可以了。
1、基于TCP的 Internet domain socket 方式:
location ~ \.php$ {
index index.php index.html index.htm;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}2、UNIX domain socket 方式(推荐):
sock文件路径为 /run/php/php8.1-fpm.sock
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php8.1-cgi alone:
# fastcgi_pass 127.0.0.1:9000
# With php8.1-fpm:
#注意这里的文件名需要与/run/php/下的sock后缀的文件名对应
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}然后再修改 PHP-FPM的配置文件 /etc/php/8.1/fpm/pool.d /www.conf
如下:
# 与 Nginx监听同一个 sock
listen = /run/php/php8.1-fpm.sock3、配置好后重启nginx与php服务:
$ service nginx restart
$ service php8.1-fpm restart安装 MySQL
使用命令
$ apt-get –y install mysql-server mysql-client php7.1-mysql安装过程中会让你为 MySQL root用户设置密码。
同样,使用命令 netstat -anp ,会发现 3306端口正在被监听了。
运行命令:
$ mysql -uroot -p您的密码
来测试mysql是否能成功运行。
现在可以编写 PHP脚本来连接数据库了。