LNMP搭建

目录

目录

查看操作系统及版本信息

搭建版本

安装NGINX

安装mysql:

安装PHP

安装libiconv字符集转换包

安装libmcrypt加密库

安装mhash加密扩展库

安装mcrypt加密扩展库

NGINX关联PHP

PHP连接MySQL


查看操作系统及版本信息

搭建版本

安装NGINX

wget http://nginx.org/download/nginx-1.8.1.tar.gz
yum install pcre pcre-devel openssl openssl-devel -y        #安装依赖;
yum install zlib zlib-devel gcc gcc-c++ autoconf automake
useradd -s /sbin/nologin nginx -M
tar -zxvf nginx-1.8.1.tar.gz 
cd nginx-1.8.1
./configure --prefix=/opt/nginx181/            #指定安装目录;
make && make install
ln -s /opt/nginx181/sbin/nginx /usr/local/bin/nginx        #做软连接,可直接通过命令启动;
nginx         #启动
nginx -t         #检查配置
ngins -s reload  #重新加载
netstat -ntlup|grep nginx
ps -aux |grep nginx

验证:

安装mysql:

yum -y install https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install yum-utils
yum-config-manager --disable mysql57-community
yum-config-manager --enable mysql55-community
yum repolist enabled | grep mysql
yum -y install mysql-community-client

rpm -e MariaDB-common-10.1.41-1.el7.centos.x86_64 --nodeps    #移除mariadb,没有报错则跳过此步骤;
yum install -y mysql-community-server

systemctl start mysqld.service

#修改初始密码
#方法1:
mysqladmin -uroot password '123.com'

#方法2:
update user set password=password('456.com') where user='root' and host='localhost';
flush privileges;

#方法3:
set password=password('123.com');
flush privileges;

#优化数据库
mysql -uroot -p
drop database test;
select user,host from mysql.user;
drop user ''@'localhost';
drop user 'root'@'::1';
#注意:grant新建的用户drop删除不了,需要用delete删除。
grant all on *.* to root@'a' identified by '123.com';
delete from mysql.user where user='root' and host='a';

安装PHP

netstat -ntlup |egrep 'nginx|mysql'    #查看nginx和mysql端口
#安装依赖包
yum -y install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel
rpm -qa zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel
yum -y install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum search php70w    #查看php7.0的扩展名称,根据自己需求安装;
yum install php70w php70w-fpm php70w-cli php70w-common php70w-devel php70w-gd php70w-pdo php70w-mysql php70w-mbstring php70w-bcmath
php -v
Systemctl start php-fpm.service   #启动
Systemctl Stop php-fpm.service #停止
Systemctl Restart php-fpm.service #重启
Systemctl reload php-fpm.service   #重启修改配置

#修改配置文件
vim /etc/php-fpm.conf
[global]
pid = /var/run/php-fpm/php-fpm.pid
error_log = /var/log/php-fpm/error.log
log_level = error
rlimit_files = 32768
events.mechanism = epoll

[www]
user = nginx
group = nginx
listen = 127.0.0.1:9000
listen.owner = nginx
listen.group = nginx
pm = dynamic
pm.max_children = 1024
pm.start_servers = 16
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.process_idle_timeout = 15s;
pm.max_requests = 2048
slowlog = /app/logs/$pool.log.slow
request_slowlog_timeout = 10
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f 邮箱地址

/usr/sbin/php-fpm -t       #检查语法
[28-Aug-2019 17:27:38] ERROR: Unable to create or open slowlog(/app/logs/www.log.slow): No such file or directory (2)
[28-Aug-2019 17:27:38] ERROR: failed to post process the configuration
[28-Aug-2019 17:27:38] ERROR: FPM initialization failed
mkdir -p /app/logs
/usr/sbin/php-fpm -t        #再次检查
systemctl reload php-fpm.service

截图

检查状态

设置开机启动

systemctl enable php-fpm.service   
systemctl enable mysqld.service
vi /etc/rc.local
/opt/nginx181/sbin/nginx

安装libiconv字符集转换包

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/opt/libiconv114
make && make install

#如果报srclib/错误执行:
cd /root/libiconv-1.14/srclib/
sed -i -e '/gets is a security/d' ./stdio.in.h

安装libmcrypt加密库

wget https://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install

/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install

安装mhash加密扩展库

wget https://jaist.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
tar zxf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make
make install
cd ../
mv /usr/lib64/libmcrypt.* /delete
mv /usr/lib64/libmhash* /delete
find / -name libmcrypt.la
ln -s /usr/local/lib/libmcrypt.la /usr/lib64/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib64/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib64/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib64/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib64/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib64/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

安装mcrypt加密扩展库

wget https://jaist.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar zxf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
/sbin/ldconfig
./configure LD_LIBRARY_PATH=/usr/local/lib
make
make install

NGINX关联PHP

编辑nginx配置文件

vi /opt/nginx181/conf/nginx.conf

添加以下内容

        location / {
            root   html;           
            index  index.html index.htm index.php;    #添加index.php;
        }
        location ~ \.php {
            root html;          
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include /opt/nginx181/conf/fastcgi_params;   #编译安装根据自己的目录来写;
            fastcgi_split_path_info   ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO  $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

截图

在html目录下添加一个PHP测试文件

vi /opt/nginx181/html/index.php

添加以下内容

<?php
phpinfo();
?>

检查并重启服务

验证

PHP连接MySQL

编辑一个新的PHP文件

vi /opt/nginx181/html/connect_mysql.php

添加以下内容 

<?php
# mysqli_connect参数:ip:port、账号、密码、数据库    #如果是本机一定要写localhost
$link = mysqli_connect("localhost", "root", "123456", "mysql"); 

if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL . "</br>";
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL. "</br>";
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL. "</br>";
    exit;
}

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL. "</br>";
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;

mysqli_close($link);
?>

验证

参考:

https://www.php.net/manual/en/function.mysqli-connect.php

https://www.cnblogs.com/zhangxinqi/p/LNMP.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值