LNMP(Linux+Nginx+Mysql+Php)環境搭建

一、Nginx安裝

1、下載Nginx軟件包(源碼包),並解壓

wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar xf nginx-1.14.0.tar.gz

2、創建www虛擬用戶

useradd -M -s /sbin/nologin www

3、編譯安裝nginx

cd nginx-1.14.0
./configure --prefix=/usr/local/nginx-1.14.0 --user=www --group=www --with-http_ssl_module --with_http_stub_status_module
make && make install 
ln -s /usr/local/nginx-1.14.0 /usr/local/nginx

4、添加環境變量

echo 'export PATH=$PATH:/usr/local/nginx/bin' > /etc/profile
. /etc/profile

5、啓動nginx服務,並查看服務是否啓動

nginx 
netstat -lntp (查看80端口是否監聽)

二、Mysql安裝

1、下載Mysql軟件包(二進制包),並解壓

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
tar xf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
mv  mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql-8.0.11
ln -s /usr/local/mysql-8.0.88 /usr/local/mysql

2、創建mysql虛擬用戶,並修改權限

useradd -M -s /sbin/nologin mysql
chown -R root.mysql /usr/local/mysql-8.0.11
chown -R mysql.mysql /usr/local/mysql/data

3、初始化數據庫

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

4、編寫啓動腳本和配置文件

mv /usr/local/mysql/supports/mysql_server /etc/init.d/mysqld
mv /usr/local/mysql/my.cnf /etc/my.cnf

5、設置root密碼

/usr/local/mysql/bin/mysqladmin -uroot  password

6、登錄Mysql測試

mysql -uroot -p

7、排錯

Starting MySQL.... ERROR! The server quit without updating PID file (/application/mysql/data/web01.pid)
解決:
(1)、重新初始化數據庫
(2)、配置文件中添加innodb_force_recovery = 11
原文請參考:https://blog.csdn.net/qq_35440678/article/details/56016264

三、Php安裝

1、php安裝包下載(源碼包),並解壓

網址:http://php.net/downloads.php
tar xf php-7.1.19.tar.gz

2、安裝依賴庫

yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel

3、編譯安裝

./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql-5.6.34 \
--with-pdo-mysql=mysqlnd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp \
--enable-opcache=no
(防錯)
(ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib64/
 touch ext/phar/phar.phar)
make && make install 

4、編寫配置文件

cp php.ini-production /usr/local/php/lib/php.ini
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf

5、啓動php-fpm服務

/usr/local/php/sbin/php-fpm

四、Nginx與Php連接

1、編寫nginx配置文件

worker_processes  2;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen 80;
        server_name zabbix.zhengsy.net;
        root html/www;
        index index.php  index.html index.htm;
        location ~* .*\.(php|php5?)$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;

        }
    }
}

五、Mysql與Php連接

1、編寫index.php

<?php
           //$link_id=mysql_connect('主機名','用戶','密碼');
           //mysql -u用戶 -p密碼 -h 主機
           $link_id=mysql_connect('localhost','root','oldboy123') or mysql_error();
           if($link_id){
                        echo "mysql successful by oldboy !\n";
                       }else{
                        echo mysql_error();
                       }
       ?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章