LNMP環境搭建完整步驟

来源:http://www.cnblogs.com/chanAndy/archive/2016/05/17/5503563.html
-Advertisement-
Play Games

零、resource http://pan.baidu.com/s/1o83r3S2 一、centos 6.4、VirtualBox 5.0.14 二、nginx 1.9.9 安裝 [root@pc ~]# cd /usr/local/src/ [root@pc src]# yum install ...


零、resource   http://pan.baidu.com/s/1o83r3S2

一、centos 6.4、VirtualBox 5.0.14

二、nginx 1.9.9

     安裝

[root@pc ~]# cd /usr/local/src/
[root@pc src]# yum install wget
[root@pc src]# wget http://heanet.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz
[root@pc src]# tar -xzf pcre-8.38.tar.gz
[root@pc src]# cd pcre-8.38/
[root@pc pcre-8.38]# ./configure --prefix=/usr/local/pcre-8.38
[root@pc pcre-8.38]# make
[root@pc pcre-8.38]# make install
[root@pc pcre-8.38]# cd ../
[root@pc src]# yum -y install libjpeg libjpeg-devel libpng libpng-devel libvpx libvpx-devel libXpm libXpm-devel libxml2 libxml2-devel fontconfig fontconfig-devel freetype freetype-devel zlib zlib-devel bzip2 bzip2-devel curl curl-devel openssl openssl-devel
[root@pc src]# groupadd www
[root@pc src]# useradd -g www www
[root@pc src]# passwd www
[root@pc src]# wget http://nginx.org/download/nginx-1.9.9.tar.gz
[root@pc src]# tar -xzf nginx-1.9.9.tar.gz 
[root@pc src]# cd nginx-1.9.9/
[root@pc nginx-1.9.9]# ./configure --prefix=/usr/local/nginx-1.9.9 --user=www --group=www --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.38
[root@pc nginx-1.9.9]# make
[root@pc nginx-1.9.9]# make install
[root@pc nginx-1.9.9]# cd /usr/local/nginx-1.9.9/conf/
[root@pc conf]# vi nginx.conf
    user  www;
    worker_processes  10;
    error_log  /data/logs/nginx_error.log;
    pid        /data/logs/nginx.pid;
    http {
        include vhost/*.conf;
    }
[root@pc conf]# mkdir vhost rewrite
[root@pc conf]# mkdir -p /data/logs/
[root@pc conf]# chown -R www.www /data
[root@pc conf]# chmod -R 777 /data
[root@pc conf]# /usr/local/nginx-1.9.9/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.9.9/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.9.9/conf/nginx.conf test is successful
[root@pc conf]# /usr/local/nginx-1.9.9/sbin/nginx
[root@pc nginx-1.9.9]# ps -ef | grep nginx
root     14442     1  0 14:15 ?        00:00:00 nginx: master process /usr/local/nginx-1.9.9/sbin/nginx
www      14457 14442  0 14:24 ?        00:00:00 nginx: worker process            
www      14458 14442  0 14:24 ?        00:00:00 nginx: worker process            
www      14459 14442  0 14:24 ?        00:00:00 nginx: worker process            
www      14460 14442  0 14:24 ?        00:00:00 nginx: worker process            
www      14461 14442  0 14:24 ?        00:00:00 nginx: worker process            
www      14462 14442  0 14:24 ?        00:00:00 nginx: worker process            
www      14463 14442  0 14:24 ?        00:00:00 nginx: worker process            
www      14464 14442  0 14:24 ?        00:00:00 nginx: worker process            
www      14465 14442  0 14:24 ?        00:00:00 nginx: worker process            
www      14466 14442  0 14:24 ?        00:00:00 nginx: worker process            
root     14472  1358  0 14:27 pts/0    00:00:00 grep nginx
[root@pc conf]# curl http://localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
View Code

     開機自啟

[root@pc conf]# vi /etc/init.d/nginx
#! /bin/sh
DESC="nginx service"
NAME=nginx
DAEMON=//usr/local/nginx-1.9.9/sbin/$NAME
CONFIGFILE=/usr/local/nginx-1.9.9/conf/$NAME.conf
PIDFILE=/data/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
    $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
    kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}
do_reload() {
    kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
}
case "$1" in
    start)
        echo -n "Starting $DESC: $NAME"
        do_start
        echo "."
        ;;
    stop)
        echo -n "Stopping $DESC: $NAME"
        do_stop
        echo "."
        ;;
    reload|graceful)
        echo -n "Reloading $DESC configuration..."
        do_reload
        echo "."
        ;;
    restart)
        echo -n "Restarting $DESC: $NAME"
        do_stop
        do_start
        echo "."
        ;;
    *)
        echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
        exit 3
        ;;
esac
exit 0
[root@pc conf]# chmod 775 /etc/init.d/nginx
[root@pc conf]# service nginx restart
[root@pc conf]# vi /etc/rc.local
    /etc/init.d/nginx start
View Code

三、mysql 5.6.30

     安裝

[root@pc ~]# cd /usr/local/src/
[root@pc src]# yum -y install bison expat expat-devel ncurses ncurses-devel libaio libaio-devel libc.so.6
[root@pc src]# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
[root@pc src]# tar -xzf cmake-3.5.2.tar.gz
[root@pc src]# cd cmake-3.5.2
[root@pc cmake-3.5.2]# ./configure
[root@pc cmake-3.5.2]# make
[root@pc cmake-3.5.2]# make install
[root@pc cmake-3.5.2]#  cd ../
[root@pc src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.30.tar.gz
[root@pc src]# tar -xzf mysql-5.6.30.tar.gz
[root@pc mysql-5.6.30]# groupadd mysql
[root@pc mysql-5.6.30]# useradd -g mysql mysql -s /bin/false
[root@pc mysql-5.6.30]# mkdir -p /data/mysql
[root@pc mysql-5.6.30]# chown -R mysql.mysql /data/mysql
[root@pc mysql-5.6.30]# mkdir -p /usr/local/mysql-5.6.30
[root@pc mysql-5.6.30]# chown -R mysql.mysql /usr/local/mysql-5.6.30
[root@pc mysql-5.6.30]# yum -y install bison-devel ncurses-devel libaio libaio-devel
[root@pc mysql-5.6.30]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.30 \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/usr/local/mysql-5.6.30 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
[root@pc mysql-5.6.30]# make
[root@pc mysql-5.6.30]# make install
[root@pc mysql-5.6.30]# chmod +x scripts/mysql_install_db
[root@pc mysql-5.6.30]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.6.30 --datadir=/data/mysql --explicit_defaults_for_timestamp
[root@pc mysql-5.6.30]# cd /usr/local/mysql-5.6.30/
[root@pc mysql-5.6.30]# rm -f /etc/my.cnf ./my.cnf
[root@pc mysql-5.6.30]# cp support-files/my-default.cnf ./my.cnf
[root@pc mysql-5.6.30]# ln -s /usr/local/mysql-5.6.30/my.cnf /etc/my.cnf
[root@pc mysql-5.6.30]# vi my.cnf
    basedir=/usr/local/mysql-5.6.30
    datadir=/data/mysql
    port =3306
    pid-file=/data/logs/mysql.pid
    log_error = /data/logs/mysql_error.log
    slow_query_log = 1
    long_query_time = 1
    slow_query_log_file = /data/logs/mysql_slow.log
[root@pc mysql-5.6.30]# cp ./support-files/mysql.server /etc/init.d/mysql
[root@pc mysql-5.6.30]# chmod 775 /etc/init.d/mysql
[root@pc mysql-5.6.30]# /etc/init.d/mysql start
Starting MySQL. SUCCESS!
View Code

    初始化密碼,允許遠程連接及開機自啟

[root@pc mysql-5.6.30]# vi /etc/profile
    export PATH=$PATH:/usr/local/mysql-5.6.30/bin
[root@pc mysql-5.6.30]# source /etc/profile
[root@pc mysql-5.6.30]# mysql -u root -p
Enter password: #密碼為空
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> DELETE FROM user WHERE Host!='%';
Query OK, 5 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
[root@pc mysql-5.6.30]# vi /etc/sysconfig/iptables
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
[root@pc mysql-5.6.30]# service iptables restart
[root@pc mysql-5.6.30]# vi /etc/rc.local
    /etc/init.d/mysql start
View Code

四、php 5.6.21

     安裝

[root@pc ~]# cd /usr/local/src/
[root@pc src]# wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
[root@pc src]# tar -xzf libmcrypt-2.5.7.tar.gz
[root@pc src]# cd libmcrypt-2.5.7
[root@pc libmcrypt-2.5.7]# ./configure
[root@pc libmcrypt-2.5.7]# make
[root@pc libmcrypt-2.5.7]# make install
[root@pc libmcrypt-2.5.7]# ldconfig      
[root@pc libmcrypt-2.5.7]# cd libltdl/
[root@pc libltdl]# ./configure --enable-ltdl-install
[root@pc libltdl]# make
[root@pc libltdl]# make install
[root@pc libltdl]# cd ../../
[root@pc src]# wget http://jaist.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
[root@pc src]# tar -zxf mhash-0.9.9.9.tar.gz
[root@pc src]# cd mhash-0.9.9.9
[root@pc mhash-0.9.9.9]# ./configure
[root@pc mhash-0.9.9.9]# make
[root@pc mhash-0.9.9.9]# make install
[root@pc mhash-0.9.9.9]# cd ../
[root@pc src]# wget http://jaist.dl.sourceforge.net/project/lnmpaio/web/mcrypt/mcrypt-2.6.8.tar.gz
[root@pc src]# tar -xzf mcrypt-2.6.8.tar.gz
[root@pc src]# cd mcrypt-2.6.8
[root@pc mcrypt-2.6.8]# ./configure LD_LIBRARY_PATH=/usr/local/lib
[root@pc mcrypt-2.6.8]# make
[root@pc mcrypt-2.6.8]# make install
[root@pc mcrypt-2.6.8]# cd ../
[root@pc src]# wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libzip-0.9-3.1.el6.x86_64.rpm
[root@pc src]# rpm -ivh libzip-0.9-3.1.el6.x86_64.rpm
[root@pc src]# wget http://cn2.php.net/distributions/php-5.6.21.tar.gz
[root@pc src]# tar -xzf php-5.6.21.tar.gz
[root@pc src]# cd php-5.6.21
[root@pc php-5.6.21]# ./configure \
--prefix=/usr/local/php-5.6.21 \
--with-config-file-path=/usr/local/php-5.6.21/etc \
--enable-fpm --with-fpm-user=www --with-fpm-group=www \
--enable-mysqlnd \
--with-mysqli=/usr/local/mysql-5.6.30/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql-5.6.30/bin/mysql_config \
--with-libxml-dir \
--enable-zip \
--with-zlib \
--with-zlib-dir \
--with-curl \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--with-xmlrpc \
--with-jpeg-dir \
--with-png-dir \
--with-xpm-dir \
--with-freetype-dir \
--enable-shared \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-pcntl \
--enable-sockets \
--enable-soap

...
configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
[root@pc php-5.6.21]# cat /etc/ld.so.conf.d/mysql-x86_64.conf
cat: /etc/ld.so.conf.d/mysql-x86_64.conf: No such file or directory
[root@pc php-5.6.21]# echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf
[root@pc php-5.6.21]# echo '/usr/local/lib64' >> /etc/ld.so.conf.d/local.conf
[root@pc php-5.6.21]# cat /etc/ld.so.conf.d/mysql-x86_64.conf
/usr/lib64/mysql
[root@pc php-5.6.21]# echo '/usr/local/mysql-5.6.30/lib' >> /etc/ld.so.conf.d/mysql-x86_64.conf
[root@pc php-5.6.21]# ldconfig


[root@pc php-5.6.21]# ./configure --prefix=/usr/local/php-5.6.21 --with-config-file-path=/usr/local/php-5.6.21/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=/usr/local/mysql-5.6.30/bin/mysql_config --with-pdo-mysql=/usr/local/mysql-5.6.30/bin/mysql_config --with-libxml-dir --enable-zip --with-zlib --with-zlib-dir --with-curl --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --with-xmlrpc --with-jpeg-dir --with-png-dir --with-xpm-dir --with-freetype-dir --enable-shared --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-pcntl --enable-sockets --enable-soap
[root@pc php-5.6.21]# make -j4
[root@pc php-5.6.21]# make install

[root@pc php-5.6.21]# cd /usr/local/php-5.6.21/etc
[root@pc etc]# cp /usr/local/src/php-5.6.21/php.ini-development php.ini
[root@pc etc]# cp php-fpm.conf.default php-fpm.conf
[root@pc etc]# vi php-fpm.conf
    pid = /data/logs/php-fpm.pid
    error_log = /data/logs/php-fpm.log
    pm.max_children = 40
    pm.start_servers = 20
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35
[root@pc etc]# vi php.ini
    date.timezone = 'PRC'
    error_log = /data/logs/php_errors.log
[root@pc etc]# /usr/local/php-5.6.21/sbin/php-fpm
[root@pc etc]# ps -ef | grep fpm
root      9516     1  0 15:52 ?        00:00:00 php-fpm: master process (/usr/local/php-5.6.21/etc/php-fpm.conf)
www       9517  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9518  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9519  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9520  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9521  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9522  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9523  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9524  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9525  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9526  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9527  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9528  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9529  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9530  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9531  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9532  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9533  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9534  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9535  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
www       9536  9516  0 15:52 ?        00:00:00 php-fpm: pool www                 
root      9545  1666  0 15:54 pts/0    00:00:00 grep fpm
[root@pc etc]# /usr/local/php-5.6.21/bin/php -v
PHP 5.6.21 (cli) (built: May  7 2016 15:29:00) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
View Code

     開機自啟

[root@pc etc]# vi /etc/init.d/php-fpm
#! /bin/sh
php_fpm_BIN=/usr/local/php-5.6.21/sbin/php-fpm
php_fpm_CONF=/usr/local/php-5.6.21/etc/php-fpm.conf
php_fpm_PID=/data/logs/php-fpm.pid
php_fpm_INI=/usr/local/php-5.6.21/etc/php.ini
php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID -c $php_fpm_INI"
wait_for_pid () {
    try=0
    while test $try -lt 35 ; do
        case "$1" in
            'created')
            if [ -f "$2" ] ; then
                try=''
                break
            fi
            ;;
            'removed')
            if [ ! -f "$2" ] ; then
                try=''
                break
            fi
            ;;
        esac
        echo -n .
        try=`expr $try + 1`
        sleep 1
    done
}
case "$1" in
    start)
        echo -n "Starting php-fpm "
        $php_fpm_BIN --daemonize $php_opts
        if [ "$?" != 0 ] ; then
            echo " failed"
            exit 1
        fi
        wait_for_pid created $php_fpm_PID
        if [ -n "$try" ] ; then
            echo " failed"
            exit 1
        else
            echo " done"
        fi
    ;;
    stop)
        echo -n "Gracefully shutting down php-fpm "
        if [ ! -r $php_fpm_PID ] ; then
            echo "warning, no pid file found - php-fpm is not running ?"
            exit 1
        fi
        kill -QUIT `cat $php_fpm_PID`
        wait_for_pid removed $php_fpm_PID
        if [ -n "$try" ] ; then
            echo " failed. Use force-quit"
            exit 1
        else
            echo " done"
        fi
    ;;
    status)
        if [ ! -r $php_fpm_PID ] ; then
            echo "php-fpm is stopped"
            exit 0
        fi
        PID=`cat $php_fpm_PID`
        if ps -p $PID | grep -q $PID; then
            echo "php-fpm (pid $PID) is running..."
        else
            echo "php-fpm dead but pid file exists"
        fi
    ;;
    force-quit)
        echo -n "Terminating php-fpm "
        if [ ! -r $php_fpm_PID ] ; then
            echo "warning, no pid file found - php-fpm is not running ?"
            exit 1
        fi
        kill -TERM `cat $php_fpm_PID`
        wait_for_pid removed $php_fpm_PID
        if [ -n "$try" ] ; then
            echo " failed"
            exit 1
        else
            echo " done"
        fi
    ;;
    restart)
        $0 stop
        $0 start
    ;;
    reload)
        echo -n "Reload service php-fpm "
        if [ ! -r $php_fpm_PID ] ; then
            echo "warning, no pid file found - php-fpm is not running ?"
            exit 1
        fi
        kill -USR2 `cat $php_fpm_PID`
        echo " done"
    ;;
    *)
        echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"
        exit 1
    ;;
esac
[root@pc etc]# chmod 775 /etc/init.d/php-fpm
[root@pc etc]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
[root@pc etc]# vi /etc/sysconfig/iptables
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
[root@pc etc]# service iptables restart
[root@pc etc]# vi /etc/rc.local
    /etc/init.d/php-fpm start
View Code

五、vhost

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

-Advertisement-
Play Games
更多相關文章
  • 成功安裝Oracle 11g後,共有7個服務,這七個服務的含義分別為:1. Oracle ORCL VSS Writer Service:Oracle捲映射拷貝寫入服務,VSS(Volume Shadow Copy Service)能夠讓存儲基礎設備(比如磁碟,陣列等)創建高保真的時間點映像,即映射 ...
  • 要實現的效果:查詢從Date From 到 To 之間的 所有日期; 示例代碼如下: DECLARE @DATE_FROM DATETIME = N'2016-05-16';--N'2015-05-16';DECLARE @DATE_TO DATETIME = N'2016-05-17';WITH ...
  • 一、準備工作 1.1、創建 zhuzz/tools目錄 1.2、將cmake-2.8.8.tar.gz|mysql-5.5.32.tar 上傳至 zhuzz/tools目錄 1.3、解壓cmake安裝包 [root@localhost tools]# tar xf cmake-2.8.8.tar.g ...
  • 檢查配置文件/etc/my.cnf發現供應商修改了mysql資料庫的數據存儲目錄,另外mysql.sock文件位置也變更為了/dat/data/mysql/mysql.sock 第一種方法,修改my.cnf的配置項,修改到'/var/lib/mysql/mysql.sock‘第二種方法:建立mysq ...
  • 如果你會查詢這些相關的問題,說明你是一個正在或者準備從事IT的程式猿,對於一個程式猿而言,不會使用linux系統的程式猿不是一好的程式猿哦!因為windows有時候真的讓人很抓狂,而本人也相信沒有什麼習慣是不可以改變的。so以下都是在linux系統中的使用: 安裝mysql命令 :$ sudo ap ...
  • 很多時候,當我執行查詢調優的時候,引發查詢性能糟糕的問題一般都是與參數化相關的。 一方面,參數化是查詢處理器核心的基本主題。它能顯著影響查詢性能。另一方面,大家很少對這一主題進行詳盡的瞭解。 因此我準備寫一個系列的隨筆來介紹關於參數化的問題。第一篇我將介紹關於計劃緩存的內容。為了理解參數化,有必要先 ...
  • 前言 前面[關係資料庫SQL之可編程性函數(用戶自定義函數)][1]一文提到關係型資料庫提供了可編程性的函數、存儲過程、事務、觸發器及游標,前文已介紹了函數、存儲過程、事務,本文來介紹一下觸發器的使用。( 還是以前面的銀行系統為例 ) ![圖片來自網路][0] 概述 觸發器(TRIGGER)是個特殊 ...
  • 記錄了通過sqlalchemy 管理db2資料庫的環境搭建 1.db2資料庫安裝配置 利用winscp複製iso文件到/mnt/IBM_db2 目錄下 IBM_db2為自己創建 重命名 mv IBM\ DB2\ Enterprise\ Server\ Edition_v9.7\ for\ Linux ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...