Linux安装php+nginx并访问数据库+部署到web

Linux安装php+nginx

  • 下载php
  • 安装php
    • 安装依赖包
    • 编译php
  • 下载nginx
  • 安装nginx
    • 编译nginx
  • 修改nginx配置
  • 测试访问php
  • 编写php访问mysql数据库

下载php

这里下载的是php7.4.5,需要其他版本的可以去php官网

#利用wget
wget https://www.php.net/distributions/php-7.4.5.tar.gz

安装php

安装依赖包

yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

#发现还少两个,补上
yum install libsqlite3x-devel -y
yum install oniguruma-devel -y
#解压php
tar -zxvf php-7.4.5.tar.gz
#移动
mv php-7.4.5 /usr/local

编译php

cd /usr/local/php-7.4.5

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --enable-ftp --enable-gd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pear --disable-phar --enable-sockets --with-zlib --with-xmlrpc --enable-fpm --enable-xml --enable-sockets --with-zlib --with-iconv --enable-soap --enable-pcntl --enable-cli --with-curl
如下画面为编译成功:
Linux安装php+nginx并访问数据库+部署到web_第1张图片
这个编译、安装也太慢了吧

make

make test

make install
复制配置文件
cp php.ini-production /usr/local/php/php.ini
vim /usr/local/php/php.ini
复制启动脚本
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

修改php-fpm配置文件:

cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
去掉 pid = run/php-fpm.pid 前面的分号
cd php-fpm.d
cp www.conf.default www.conf
vi www.conf

修改user和group的用户为php

添加用户和组
groupadd php
useradd -r -g php php
设置开启启动
chkconfig php-fpm on

php安装参考如下文章
https://www.jb51.net/article/172021.htm
感谢

下载nginx

这里用的nginx是1.10.3版本,需要其他版本可以去nginx官网

wget http://nginx.org/download/nginx-1.10.3.tar.gz

安装nginx

#解压
tar -zxvf nginx-1.10.3.tar.gz
#移动到/usr/local
mv nginx-1.10.3 /usr/local
cd /usr/local/nginx-1.10.3

编译nginx

#创建临时目录
mkdir -p /var/temp/nginx
./configure \
    --prefix=/usr/local/nginx \
    --pid-path=/var/run/nginx/nginx.pid \
    --lock-path=/var/lock/nginx.lock \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --with-http_gzip_static_module \
    --http-client-body-temp-path=/var/temp/nginx/client \
    --http-proxy-temp-path=/var/temp/nginx/proxy \
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
    --http-scgi-temp-path=/var/temp/nginx/scgi 

编译成功如下
Linux安装php+nginx并访问数据库+部署到web_第2张图片

#安装
make
make install

修改nginx配置

cd /usr/local/nginx
vim /conf/nginx.conf

如下图,放开注释,并修改
Linux安装php+nginx并访问数据库+部署到web_第3张图片

测试访问php

#创建文件夹
mkdir /usr/local/nginx/php
vim /usr/local/nginx/php/index.php

创建如下文件

#index.php

    phpinfo();
?>

创建软链接

#创建软链接
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx 
#启动nginx
nginx

注:创建软链接的时候需要用绝对路径,不然软链接失效

在浏览器访问
ip/index.php
Linux安装php+nginx并访问数据库+部署到web_第4张图片

编写php访问mysql数据库

新建文件all.php

vim /usr/local/nginx/php/all.php

$mysql_server_name = 'ip'; 
$mysql_username = 'username'; 
$mysql_password = 'password'; 
$mysql_database = 'database'; 

$conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); //连接数据库
if ($conn -> connect_errno) {
    printf("Connect failed: %s\n", $conn->connect_error);
    exit();
}
//查询
$sql = "select * from book";
$query = $conn->query($sql);
//构造表头
echo "";echo"";echo"";echo"";echo"";echo"";echo"";//遍历输出while($row=$query->fetch_array()){echo"";echo"";echo"";echo"";echo"";echo"";echo"";}//释放结果集+关闭MySQL连接$query->free_result();$conn->close();?>

浏览器输入
ip/all.php
效果如下:
Linux安装php+nginx并访问数据库+部署到web_第5张图片

你可能感兴趣的:(linux实验)

书号 书名 作者 出版社 价格
".$row['book_id']." ".$row['title']." ".$row['author']." ".$row['publisher']." ".$row['price']."