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

下载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
如下画面为编译成功:
php安装
这个编译、安装也太慢了吧

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 

编译成功如下
编译nginx

#安装
make
make install

修改nginx配置

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

如下图,放开注释,并修改
在这里插入图片描述

测试访问php

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

创建如下文件

#index.php
<?php
    phpinfo();
?>

创建软链接

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

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

在浏览器访问
ip/index.php
在这里插入图片描述

编写php访问mysql数据库

新建文件all.php

vim /usr/local/nginx/php/all.php
<?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 "<table border='1'><tr>";
echo "<th>书号</th>";
echo "<th>书名</th>";
echo "<th>作者</th>";
echo "<th>出版社</th>";
echo "<th>价格</th>";
echo "</tr>";
//遍历输出
while($row = $query->fetch_array()){
	echo "<tr>";
    echo "<td>".$row['book_id']."</td>";
	echo "<td>".$row['title']."</td>";
	echo "<td>".$row['author']."</td>";
	echo "<td>".$row['publisher']."</td>";
	echo "<td>".$row['price']."</td>";
	echo "</tr>";
}
//释放结果集+关闭MySQL连接
$query -> free_result();
$conn -> close();
?>

浏览器输入
ip/all.php
效果如下:
php展示

猜你喜欢

转载自blog.csdn.net/LittleSeedling/article/details/105881332