Zabbix部署-LNMP環境

来源:http://www.cnblogs.com/netonline/archive/2017/08/09/7327409.html
-Advertisement-
Play Games

原文發表於cu:2016-05-05 參考文檔: 一.環境 Server:CentOS-7-x86_64-1511 Client:Win7 x86_64, Chrome/Firefox瀏覽器 二.準備 1. iptables CentOS7預設自帶firewall,無iptables。 2. SEL ...


原文發表於cu:2016-05-05

參考文檔:

  1. LNMP安裝:http://www.osyunwei.com/archives/7891.html

一.環境

ServerCentOS-7-x86_64-1511

ClientWin7 x86_64, Chrome/Firefox瀏覽器

二.準備

1. iptables

CentOS7預設自帶firewall,無iptables

#停止firewall
[root@localhost ~]# systemctl stop firewalld.service

#禁止firewall開機啟動
[root@localhost ~]# systemctl disable firewalld.service

#安裝iptables
[root@localhost ~]# yum install iptables-services -y

#參照開放22號埠的規則,添加兩行規則開放80/3306兩個埠
[root@localhost ~]# vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

#重啟iptables,使配置生效
[root@localhost ~]# systemctl restart iptables.service

#設置iptables開機啟動
[root@localhost ~]# systemctl enable iptables.service

2. SELinux

[root@localhost ~]# vim /etc/sysconfig/selinux
#SELINUX=enforcing        #註釋掉
SELINUX=disabled            #新增
#SELINUXTYPE=targeted    #註釋掉

#使用配置生效
[root@localhost ~]# setenforce 0 

3. 獲取軟體

源代碼包存放位置:/usr/local/src

源代碼編譯安裝位置:/usr/local/soft_name

1). nginx

當前最新主線版:wget http://nginx.org/download/nginx-1.9.12.tar.gz

當前最新穩定版:wget http://nginx.org/download/nginx-1.8.1.tar.gz

2). mysql

wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11.tar.gz

3). php

當前7.0穩定版:wget http://cn2.php.net/distributions/php-7.0.4.tar.gz

4). pcre (支持nginx偽靜態)

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.bz2

5). openssl (nginx擴展)

當前穩定版:wget http://www.openssl.org/source/openssl-1.0.2g.tar.gz

6). zlib (nginx擴展)

wget http://zlib.net/zlib-1.2.8.tar.gz

7). cmake (mysql編譯工具)

wget https://cmake.org/files/v3.5/cmake-3.5.0.tar.gz

8). boost (mysql編譯)

wget http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

#Boost庫是C++庫,mysql 5.7.5開始編譯必須使用boost庫,

語法:-DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost _1_59_0boost _1_60_0mysql 5.7.11不可用

9). yasm (php擴展)

wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

10). libmcrypt (php擴展)

wget http://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

11). libvpx (gd庫需要)

wget http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-v1.3.0.tar.bz2

12). tiff (gd庫需要)

wget http://download.osgeo.org/libtiff/tiff-4.0.3.tar.gz

13). libpng (gd庫需要)

wget http://pkgs.fedoraproject.org/repo/pkgs/libpng/libpng-1.6.12.tar.gz/297388a6746a65a2127ecdeb1c6e5c82/libpng-1.6.12.tar.gz

14). freetype (gd庫需要)

wget http://ring.u-toyama.ac.jp/archives/graphics/freetype/freetype2/freetype-2.5.3.tar.gz

15). jpegsrc (gd庫需要)

wget http://www.ijg.org/files/jpegsrc.v9a.tar.gz

16). gd庫安裝包

wget https://bitbucket.org/libgd/gd-libgd/downloads/libgd-2.1.0.tar.gz

17). t1lib (php擴展)

wget http://pkgs.fedoraproject.org/repo/pkgs/t1lib/t1lib-5.1.2.tar.gz/a5629b56b93134377718009df1435f3c/t1lib-5.1.2.tar.gz

# http://www.t1lib.org/提供的官方下載鏈接無法打開 

三.安裝mysql

1. 依賴包

#部分依賴包已經在系統中,這裡只是個人之前安裝使用的依賴關係
yum -y install make autoconf automake gcc gcc-c++ bison bison-devel ncurses ncurses-devel 

2. 安裝cmake

#cmake也可以通過yum安裝。
cd /usr/local/src/
tar -zxvf cmake-3.5.0.tar.gz
cd cmake-3.5.0
./configure
make
make install

3. 安裝mysql

準備工作

#創建用戶mysql並加入到mysql組,不允許mysql用戶直接登錄系統
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql

#創建MySQL資料庫存放目錄
mkdir -p /mysql

#設置MySQL資料庫存放目錄許可權
chown -R mysql:mysql /mysql

#創建MySQL安裝目錄basedir
mkdir -p /usr/local/mysql

#重要!
cd /usr/local/src
tar -zxvf boost_1_59_0.tar.gz

tar -zxvf mysql-5.7.11.tar.gz
cd mysql-5.7.11

編譯安裝

詳細的編譯項目可以參考:http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

預編譯

#MySQL安裝的根目錄basedir
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

#MySQL資料庫文件存放目錄datadir
-DMYSQL_DATADIR=/mysql \

#MySQL配置文件所在目錄
-DSYSCONFDIR=/etc \

#MySQL用戶名,可以不用編譯,後續初始化定義
#-DMYSQL_USER=mysql \

#MySQL的資料庫引擎,後面4個可以不用編譯
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

#MySQL的readline library,批量導入數據
-DWITH_READLINE=1 \

#MySQL的通訊目錄,如果不編譯,預設MySQL啟動後在/tmp目錄,可以在後續使用軟鏈接指定到/var/lib/mysql/,如果已編譯到/var/lib/mysql/,請註意目錄是否具有mysql用戶讀寫的許可權
#-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DEXTRA_CHARSETS=all \

#設置預設字元集為utf8
-DDEFAULT_CHARSET=utf8 \

#設置預設排序字元集規則
-DDEFAULT_COLLATION=utf8_general_ci \

#重要!從MySQL 5.7.5開始,boost庫是必需的,否則報error 81,預編譯終止。編譯時允許自主下載相關文件,下載目錄-DWITH_BOOST給出
-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/boost_1_59_0

編譯安裝

#使make命令在多個cpu上並行執行,此版本編譯非常耗系統資源,小記憶體可能編譯通不過,2核2G記憶體大概用了40分鐘
make -j `grep processor /proc/cpuinfo | wc -l`

make install

chown -R mysql:mysql /usr/local/mysql

4. my.cnf

cd /usr/local/mysql/

#刪除系統預設的配置文件 (如果預設沒有就不用刪除)
rm -rf /etc/my.cnf

#複製配置樣例文件並修改文件名
cp support-files/my-default.cnf /usr/local/mysql/my.cnf
 
#添加到/etc目錄的軟連接
#根據MySQL規則,它的配置文件必須以my.cnf命名,讀取的順序是先嘗試讀取/etc/my.cnf,如果不存在再讀取basedir目錄下的my.cnf,如果系統環境變數沒有basedir,則嘗試讀取服務啟動所在當前目錄下的my.cnf,如果還是不存在,則讀取當前用戶家目錄下的.mysql/my.cnf,所以可以在/etc目錄下建1個my.cnf的軟鏈接
ln -s /usr/local/mysql/my.cnf /etc/my.cnf

5. 初始化

cd /usr/local/mysql/bin/

#初始化生成系統資料庫,在MySQL 5.7.6版本以前是basedir目錄下的scripts/mysql_install_db命令,這裡可以在後面跟上"--socket=/tmp/mysql.sock"指定mysql啟動後的通訊錄
#"--initialize"會生成一個隨機密碼,併在屏幕標準輸出最後一行顯示出來,請記住,重要!如果使用"--initialize-insecure"不會生成密碼
#初始化時datadir下不能有數據文件
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql

6. 開機啟動

cd /usr/local/mysql/

#複製啟動腳本並改名
cp support-files/mysql.server /etc/rc.d/init.d/mysqld

#加入開機啟動
chown mysql:mysql /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --level 35 mysqld on
 
#在第46/47行將basedir/datadir完善,保存退出
vim /etc/rc.d/init.d/mysqld
 basedir=/usr/local/mysql
 datadir=/mysql

7. 後續處理

#把mysql的多種服務加入系統環境變數,保存退出
vim /etc/profile
 export PATH=$PATH:/usr/local/mysql/bin

#使配置立刻生效
source /etc/profile
 
#這兩行把myslq的庫文件鏈接到系統預設的位置,這樣在編譯類似PHP等軟體時可以不用指定mysql的庫文件地址
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql

service mysqld start

#添加軟鏈接,可以在預編譯或初始化時指定路徑,預設在/tmp目錄下
mkdir /var/lib/mysql
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock


#進入資料庫後,必須修改初始密碼
mysql -uroot -p 初始密碼
set password=password('new password');

#PS:如果系統中安裝有mysql,運行"mysql" 命令時調用的是"/usr/bin/mysql",而不是編譯安裝的"/usr/local/mysql/bin/mysql",可使用"which"命令查看,如是需要先卸載系統自帶的mysql

四.安裝nginx

1. 依賴包

#部分依賴包已經在系統中
yum -y install pcre-devel openssl-devel zlib-devel 

2. 安裝pcre

cd /usr/local/src
mkdir -p /usr/local/pcre
tar -jxvf pcre-8.38.tar.bz2
cd pcre-8.38
./configure --prefix=/usr/local/pcre
make
make install 

3. 安裝zlib

cd /usr/local/src
mkdir -p /usr/local/zlib
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make
make install 

4. 安裝openssl

cd /usr/local/src
mkdir /usr/local/openssl
tar -zxvf openssl-1.0.2g.tar.gz
cd openssl-1.0.2g
./config --prefix=/usr/local/openssl
make
make install

#把openssl的多種服務加入系統環境變數,可以在上方mysql添加的1行後面繼續添加,保存退出
vim /etc/profile
 export PATH=$PATH:/usr/local/openssl/bin

source /etc/profile

5. 安裝nginx

創建用戶

groupadd www
useradd -g www -s /sbin/nologin www

編譯安裝

cd /usr/local/src
mkdir -p /usr/local/nginx
tar -zxvf nginx-1.9.12.tar.gz
cd nginx-1.9.12

#--with-openssl=/usr/local/src/openssl-1.0.2g --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.38 重要!指向的是源碼包解壓所在的路徑,非安裝的路徑,否則會報錯
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.2g --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.38
make
make install

chown -R www:www /usr/local/nginx

開機啟動 

#複製以上內容到開機啟動腳本,保存退出
vim /etc/rc.d/init.d/nginx

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx

make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
if [ -z "`grep $user /etc/passwd`" ]; then
useradd -M -s /bin/nologin $user
fi

options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
}

start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
#configtest || return $?
stop
sleep 1
start
}

reload() {
#configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}

configtest() {

$nginx -t -c $NGINX_CONF_FILE

}

rh_status() {

status $prog

}

rh_status_q() {

rh_status >/dev/null 2>&1

}

case "$1" in

start)
rh_status_q && exit 0
$1
;;

stop)
rh_status_q || exit 0
$1
;;

restart|configtest)
$1
;;

reload)
rh_status_q || exit 7
$1
;;

force-reload)
force_reload
;;

status)
rh_status
;;

condrestart|try-restart)
rh_status_q || exit 0
;;

*)

echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac

#添加自啟動服務
chown www:www /etc/rc.d/init.d/nginx
chmod 775 /etc/rc.d/init.d/nginx
chkconfig --level 35 nginx on 

6. 驗證

service nginx start

在瀏覽器中打開伺服器ip地址,看到以下界面說明安裝成功。

五.安裝PHP

寫在前面:

  1. php的編譯安裝看似簡單,但涉及到多種應用插件時非常麻煩,需要根據最終應用需要的插件定製編譯,所以網上的編譯安裝不一定適合特定的應用,以下編譯適用於zabbix;
  2. 重要!請務必按照以下依賴包版本安裝,否則libgd庫編譯中會報錯,由於依賴包較多,也不方便排查是哪個依賴包的新版本與libgd不相容,使用下麵提供的版本即可。 

1. 依賴包 

#其餘部分依賴包通過後面編譯安裝
yum -y install apr* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel libXpm* libltdl* bcmath gtk+-devel gd php-gd libiconv gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng-devel libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel t1lib t1lib* mpfr ncurses* patch perl php-common policycoreutils nasm nasm* 

2. 編譯安裝依賴包

安裝yasm

cd /usr/local/src
tar -zxvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
make
make install

安裝libmcrypt

cd /usr/local/src
tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install 

安裝libvpx

cd /usr/local/src
tar -jxvf libvpx-v1.3.0.tar.bz2
cd libvpx-v1.3.0
./configure --prefix=/usr/local/libvpx --enable-shared --enable-vp9
make
make install

安裝tiff

cd /usr/local/src
tar -zxvf tiff-4.0.3.tar.gz
cd tiff-4.0.3
./configure --prefix=/usr/local/tiff --enable-shared
make
make install

安裝libpng

cd /usr/local/src
tar -zxvf libpng-1.6.12.tar.gz
cd libpng-1.6.12
./configure --prefix=/usr/local/libpng --enable-shared
make
make install

安裝freetype

cd /usr/local/src
tar -zxvf freetype-2.5.3.tar.gz
cd freetype-2.5.3
./configure --prefix=/usr/local/freetype --enable-shared
make
make install

安裝jpeg

cd /usr/local/src
tar -zxvf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure --prefix=/usr/local/jpeg --enable-shared
make
make install

安裝libgd

cd /usr/local/src
tar -zxvf libgd-2.1.0.tar.gz
cd libgd-2.1.0
#編譯需要上面列出的幾個依賴包支持
./configure --prefix=/usr/local/libgd --enable-shared --with-jpeg=/usr/local/jpeg --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/freetype --with-xpm=/usr/ --with-tiff=/usr/local/tiff --with-vpx=/usr/local/libvpx
make
make install

安裝t1lib

cd /usr/local/src
tar -zxvf t1lib-5.1.2.tar.gz
cd t1lib-5.1.2
./configure --prefix=/usr/local/t1lib --enable-shared
make without_doc
make install 

3. 安裝php

準備

#重要!如系統是64位,請執行以上兩條命令,否則安裝php會出錯 (32位系統不需要執行)
\cp -frp /usr/lib64/libltdl.so* /usr/lib/
\cp -frp /usr/lib64/libXpm.so* /usr/lib/

安裝

cd /usr/local/src
tar -jxvf php-7.0.4.tar.bz2
cd php-7.0.4
export LD_LIBRARY_PATH=/usr/local/libgd/lib

#編譯時需要的變數
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-vpx-dir=/usr/local/libvpx/ --with-zlib-dir=/usr/local/zlib --with-t1lib=/usr/local/t1lib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype

make
make install

配置

#在解壓包中複製php配置文件到安裝目錄並改名
cd /usr/local/src/php-7.0.4
cp php.ini-production /usr/local/php/etc/php.ini

#刪除系統自帶配置文件
rm -rf /etc/php.ini

ln -s /usr/local/php/etc/php.ini /etc/php.ini

#拷貝模板文件為php-fpm配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

#添加軟連接到 /etc目錄
ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf

vim /usr/local/php/etc/php-fpm.conf
 #取消前面的分號,保存退出
 pid = run/php-fpm.pid

# php-fpm.conf最後一行調用php-fpm.d目錄中的".conf"文件,使用模板文件複製出1個www.conf文件,修改運行user/group
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php-fpm.d/www.conf
 user = www
 group = www

vim /usr/local/php/etc/php.ini
 #列出PHP可以禁用的函數,如果某些程式需要用到這個函數,可以取消禁用
 找到:disable_functions =
 修改為:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

 #設置時區
 找到:;date.timezone =
 修改為:date.timezone = PRC

 #禁止顯示php版本的信息
 找到:expose_php = On
 修改為:expose_php = Off

 #支持php短標簽
 找到:short_open_tag = Off
 修改為:short_open_tag = ON

 #php支持opcode緩存
 找到:opcache.enable=0
 修改為:opcache.enable=1

 #禁止支持opcode緩存
 找到:opcache.enable_cli=1
 修改為:opcache.enable_cli=0

 #開啟opcode緩存功能
 在最後一行添加:zend_extension=opcache.so

開機啟動

#從解壓目錄拷貝php-fpm到啟動目錄
cp /usr/local/src/php-7.0.4/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

#非必須
chown www:www /etc/rc.d/init.d/php-fpm

chmod 755 /etc/rc.d/init.d/php-fpm

chkconfig --level 35 php-fpm on

配置nginx支持php

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

 #第2行,去除user註釋,修改nginx運行組為www www;必須與/usr/local/php/etc/php-fpm.d/www.conf中的user/group配置相同,否則php運行出錯
 user www www;
 
 #第45行,添加index.php
 index index.html index.htm index.php;


 #第65~71行,取消FastCGI server部分location的註釋,註意fastcgi_param行的參數,改為$document_root$fastcgi_script_name,或者使用絕對路徑
 #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 #
 location ~ \.php$ {
            root html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
 } 

驗證

#進入nginx預設網站根目錄,新建index.php文件
cd /usr/local/nginx/html/
vim index.php
 <?php
 phpinfo();
 ?>

chown -R www:www /usr/local/nginx/html/
chmod -R 700 /usr/local/nginx/html/

/etc/init.d/nginx restart
service php-fpm start

在瀏覽器中打開伺服器:http://ip/index.php,會看到下麵的界面:


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 長久以來,醫學影像資源稀缺、分配不均、數據共用和開放程度低及醫療信息化發展滯後,都嚴重製約著行業的發展。而隨著“互聯網+”醫療成為國家戰略,國務院也相繼發佈了一系列政策,都明確指出醫學影像行業改革的必要性和方向。 雲計算、大數據和人工智慧等技術已成為醫療改革中必不可少的元素,醫學影像的雲轉型及醫學人 ...
  • 在一臺機器上安裝PXC Linux:centos 7 IP:192.168.30.221 PXC版本:Percona-XtraDB-Cluster-5.7.17-rel13-29.20.3.Linux.x86_64.ssl101.tar.gz PXC節點:①192.168.30.221:3306 c ...
  • 首先,簡要介紹一下我們需要什麼? 我們想在sql中用 try...catch,如果成功,就返回我們查詢的值,如果失敗就返回-1 所以有了以下sql語句(寫在後臺的) Sql語句已經寫好,現在就是需要獲取到這個@result,後臺代碼可以參考一下 註:此篇隨筆只供參考使用,而且也有很多小瑕疵,最主要的 ...
  • 大數據時代,給想從事IT的人帶來了新的發展機會,也提供了新的職業發展通道。在面對眾多的大數據就業崗位,我們應該選擇什麼樣的職業發展方向 ...
  • 內置判斷,成功的時候返回0,不成功返回非零 test 判斷表達式 [ 判斷表達式 ] 註意前後必須留空格哦 數值運算 -eq 等於 -ne 不等於 -gt 大於 -ge 大於等於 -lt 小於 -le 小於等於 字元串運算 = 等於 != 不等於 -z 是否為空 -n 是否不為空 文件運算 -r 是 ...
  • Linux中Swap(即:交換分區),類似於Windows的虛擬記憶體,就是當記憶體不足的時候,把一部分硬碟空間虛擬成記憶體使用,從而解決記憶體容量不足的情況。swap分區在非高記憶體的伺服器上必不可少,但是swap不能充當記憶體使用。 一、swap分區擴展的方法 新建swap分區:以分區的形式創建swap 新 ...
  • IP地址:4段十進位,共32位二進位,如:192.168.1.1 二進位就是:11000000|10101000|00000001|00000001 子網掩碼可以看出有多少位是網路號,有多少位是主機號: 255.255.255.0 二進位是:11111111 11111111 11111111 00 ...
  • 一.系統管理與維護 1. pwd:print working directory 列印工作目錄 2. cd: change directory 改變或進入路徑 ● cd ~/ cd : 當前用戶目錄;回到主目錄(中間有空格!) ● cd /:根目錄; ● cd - :上一次訪問的目錄; ● cd .... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...