lnmp

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介:

lnmp


####mysql###

 

注意:源码编译完mysql后,就不要再安装mariadb-server,不然源码的脚本会被覆盖掉

 

 源码安装 mysql

 

使用cmake,make,make install命令,cmake的命令可以显示安装的进度的百分比

 

mysql 官网:www.mysql.com

 

软件包依赖性:

1 yum install -y gcc gcc-c++ make ncurses-devel cmake

 

2 tar  zxf mysql-boost-5.7.17.tar.gz

 

3 cmake-DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all

 

 

**********************************************************************************************

#####参数说明##########

 

-DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql#安装目录

-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data#数据库存放目录,注意该目录的路径要在安装目录的路径下

-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock#Unix socket 文件路径

-DWITH_MYISAM_STORAGE_ENGINE=1#安装 myisam 存储引擎,要是不想安装,只要将1写成0即可

DWITH_INNOBASE_STORAGE_ENGINE=1#安装 innodb 存储引擎

-DDEFAULT_CHARSET=utf8#使用 utf8 字符

DDEFAULT_COLLATION=utf8_general_ci#校验字符

-DEXTRA_CHARSETS=all#安装所有扩展字符集

*************************************************************************************************

 

4 make  &&   make   install

 

5 groupadd  -g 27 mysql###创建mysql组###

 

6 useradd -u 27 -g 27 -s /sbin/nologin -M -d /usr/local/lnmp/mysql/data mysql###创建mysql用户###

 

7 cp support-files/my-default.cnf /etc/my.cnf###在/etc/my.cnf文件下有datadir和socket的路径,与源码编译时的路径不符,所以要将/etc/my.cnf文件用源码编译产生的配置文件覆盖。####

 

8 vim ~/.bash_profile###将mysql的脚本文件路径写在该目录下,则执行脚本时更方便###

 

内容:PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin

 

9 source ~/.bash_profile

 

10 cd /usr/local/lnmp/mysql/support-files/

 

11 cp mysql.server /etc/init.d/mysqld###在企业六的版本里,服务的启动和停止脚本文件一般都是放在/etc/init.d/目录下,所以将mysql服务的脚本文件放在该目录下,通过/etc/init.d/mysqld   startr就可以启动mysql服务###

 

12 chown root.root .  -R(当前路径:/usr/local/lnmp/mysql)

 

13 chown mysql  data -R###将data的目录及目录下的文件的用户身份改成mysql###

 

14 mysqld --initialize --user=mysql###以mysql用户的身份进行mysql的初始化###

 

15 /etc/init.d/mysqld start

 

16 mysql -p

 

【过程:

[root@server1 mysql]# mysql -p

Enter password: ###使用初始化产生的临时密码###

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.17

 

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql> show databases;###使用临时密码,没有权限查看mysql的内容,要进行初始化###

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql>

 


17 mysql_secure_installation###由于在源码编译时,有编译字符校验模块,所以当修该密码时,会询问是否要使用字符校验的功能###

 

【过程:

[root@server1 mysql]# mysql_secure_installation

 

Securing the MySQL server deployment.

 

Enter password for user root:

 

The existing password for the user account root has expired. Please set a new password.

 

New password:

 

Re-enter new password:

 

VALIDATE PASSWORD PLUGIN can be used to test passwords###询问是否要使用字符校验的功能###

and improve security. It checks the strength of password

and allows the users to set only those passwords which are

secure enough. Would you like to setup VALIDATE PASSWORD plugin?

 

Press y|Y for Yes, any other key for No: y

 

There are three levels of password validation policy:

 

LOW    Length >= 8

MEDIUM Length >= 8, numeric, mixed case, and special characters

STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

 

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1###选择字符校验的级别###

Using existing password for root.

 

Estimated strength of the password: 100

Change the password for root ? ((Press y|Y for Yes, any other key for No) : y###不能直接回车,不然会跳过该问题###

 

New password:

 

Re-enter new password:

(....省略)

 

 

 

编译的具体过程如下:

 

[root@server1 ~]# tar zxf  mysql-boost-5.7.17.tar.gz

[root@server1 ~]# yum install -y cmake-2.8.12.2-4.el6.x86_64.rpm

[root@server1 ~]# cd mysql-5.7.17/

[root@server1 mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=al

 

(过程省略,主要看Error)

*****************************************************************************

CMake Error at cmake/boostNaNake:81 (MESSAGE):

  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

 

  This CMake script will look for boost in <directory>.  If it is not there,

  it will download and unpack it (in that directory) for you.

 

  If you are inside a firewall, you may need to use an http proxy:

 

  export http_proxy=http://example.com:80

 

Call Stack (most recent call first):

  cmake/boostNaNake:238 (COULD_NOT_FIND_BOOST)

  CMakeLists.txt:455 (INCLUDE)

 

 

-- Configuring incomplete, errors occurred!

 

*******************************************************************************

由此可以看出缺少-DWITH_BOOST=<directory>

 

[root@server1 mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=al -DWITH_BOOST=boost/boost_1_59_0/ ###指定-DWITH_BOOST=boost/boost_1_59_0/###

 

(过程省略,看Error)

*********************************************************************************

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

CMake Error: Internal CMake error, TryCompile configure of cmake failed

 

.....)

 

      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

Call Stack (most recent call first):

  cmake/readlineNaNake:107 (FIND_CURSES)

  cmake/readlineNaNake:197 (MYSQL_USE_BUNDLED_EDITLINE)

  CMakeLists.txt:483 (MYSQL_CHECK_EDITLINE)

*********************************************************************************

CMAKE_CXX_COMPILER not set可以看出缺少c++编译器,还有要安装ncurses-devel

 

 

[root@server1 mysql-5.7.17]# yum install -y ncurses-devel gcc-c++

[root@server1 mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=al -DWITH_BOOST=boost/boost_1_59_0/

 

 

(省略过程...看Error)

*****************************************************************************

      remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

Call Stack (most recent call first):

  cmake/readlineNaNake:107 (FIND_CURSES)

  cmake/readlineNaNake:197 (MYSQL_USE_BUNDLED_EDITLINE)

  CMakeLists.txt:483 (MYSQL_CHECK_EDITLINE)

*****************************************************************************

由于ncurses-devel已经装过,(可用rpm   -q   ncurses-devel查看),因此是CMakeCache.txt文件的影响,cmake在编译的过程中,会产生缓存文件,当继续编译时,就会从刚才停下的地方继续编译,而刚才停下的地方就是出错的地方,因此要将该缓存文件删除

 

[root@server1 mysql-5.7.17]# rm -f CMakeCache.txt

[root@server1 mysql-5.7.17]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=al -DWITH_BOOST=boost/boost_1_59_0/

 

###没有报错,编译成功####

 

[root@server1 mysql-5.7.17]# make && make install

 

 

 

测试:

登入mysql

 

[root@server1 data]# mysql -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.7.17 Source distribution

 

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

4 rows in set (0.00 sec)

 

mysql> exit

Bye

 

 

 

 

####php####

 

一源码编译php

 

php下载软件网址:php.net

 

tar  jxf  php-5.6.20.tar.bz2

 

cd php-5.6.20

 

1 编译:./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-gmp --with-gettext -enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash

 

**********************************************************************************

####参数说明######

--prefix=/usr/local/lnmp/php###指定安装目录###

 

--with-config-file-path=/usr/local/lnmp/php/etc###指定php主配置文件的位置###

--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd###php如果要使用到mysql,可以通过调用外部的mysql模块,也可以使用php原身带有的数据库驱动mysqlnd,但是调用外部模块,内存需求量更大,性能也不高,而调用原身具有的mysqlnd模块,性能可以提高40%,因此建议使用原身的mysqlnd模块####

 

--with-openssl###加密###

 

--with-snmp###监控###

 

--with-gd --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-gmp###支持图片###

 

--with-zlib###网页压缩###

 

--with-gettext###支持文本###

 

--enable-soap###支持动态模块的加载,编译完后如果有想要再添加什么功能的模块,再添加,就不用重新编译####

 

 

--enable-fpm###支持fastcgi,fastcgi与cgi的区别在于fastcgi有后台进程,而cgi没有后台进程###

 

 

--with-mcrypt --with-mhash###网页加密###

****************************************************************************************

 

2 软件依赖性:取决于你编译时安装的模块的依赖性,此时的依赖软件有libmcrypt-2.5.8-9.el6.x86_64.rpm,libjpeg-turbo-devel-1.2.1-1.el6.x86_64,

net-snmp-devel,re2c-0.13.5-1.el6.x86_64.rpm,libxml2-devel ,curl-devel, jpeglib-devel,libpng-devel,freetype-devel,gmp-devel

 

3 make&&makeinstall

 

 

 nginx和php联系在一起

 

1 cd php-5.6.20

 

2 cp php.ini-production /usr/local/lnmp/php/etc/php.ini###将配置文件移到/usr/local/lnmp/php/etc/下,并且一定以要命名为php.ini

 

 

3 cp    sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

 

4 chmod   +x/etc/init.d/php-fpm

 

5 vim /usr/local/lnmp/php/etc/php.ini

 

内容:

 

date.timezone=Asia/Shanghai

 

 

6 cp  /usr/local/lnmp/php/etc/php-fpm.conf.default  /usr/local/lnmp/php/etc/php-fgm.conf

 

7 vim  php-fpm.conf

 

内容:

pid = run/php-fgm.pid

 

8 /etc/init.d/php-fpm   reload###使用的fastcgi,有后台进程,有自己的端口(:9000),因此可以直接reload###

 

9 vim  ~/.bash_profile

 

内容:

PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/php/bin

 

10 source  ~/.bash_profile

 


 

11 netstat-antlp    | grep  :9000

 

12 vim  /usr/local/lnmp/nginx/conf/nginx.conf

 

内容:

   location / {

            root   html;

            index  index.php index.html index.htm;

        }

 

 

 

 

 location ~ \.php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

            include        fastcgi.conf;

 

13 vim   /usr/local/lnmp/nginx/html/index.php

 

内容:

 

<?php

phpinfo()

?>

 

 

测试:

 

访问172.25.78.1可以看到php的信息页

 

 

 

 nginx+php+mysql

 

 

client  -- >  nginx将所有的php的处理转发 --- >  php-fpm(端口号为9000) --- > php-mysqlnd --- > mysql:3306  --- > nginx  --- > client

 

部署论坛

 

1 网上下载一个论坛的压缩包并解压

unzip Discuz_X3.2_SC_UTF8.zip

 

2 less  readme/readme.txt###查看论坛部署的方法###

 

3 mv upload/ /usr/local/lnmp/nginx/html/bbs###readme.txt中写的要上传upload到服务器###

 

 

4 cd /usr/local/lnmp/nginx/html/bbs/

 

5 chmod 777 config/ uc_client/ data/ uc_server/ -R###安装过程要将目录权限开启###

 

 

安装过程会碰到该问题:

数据库连接错误:php不能连接到数据库

 

解决:

php的配置文件里指定数据库socket的位置

 

vim  /usr/local/lnmp/php/php.ini

 

内容:

**************************************************************

mysqli.default_socket = /usr/local/lnmp/mysql/data/mysql.sock

pdo_mysql.default_socket= /usr/local/lnmp/mysql/data/mysql.sock

mysql.default_socket = /usr/local/lnmp/mysql/data/mysql.sock

 

**************************************************************

 

 /etc/init.d/php-fpm  reload

 

 

还会碰到由于权限而无法连接数据库:

 

Permission denied

 

解决:

chmod 755 /usr/local/lnmp/mysql/data/

 

 

 

 

 

###php功能模块的扩展###

 

 

client  -- >  nginx将所有的php的处理转发 --- >  php-fpm(端口号为9000) --- > php-mysqlnd --- > mysql:3306  --- > nginx  --- > client

 

 

 

memcache

 

它是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的 Hash 表,能够用来存储各种格式的数据。可以类比于 MySQL 这样的服务,而 PHP 扩展的 Memcache 实际上是连接Memcache 的方式,一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度,提高可扩展性。

 

可通过php   -m  |  grep   memcached   查看是否有memcached模块,php   -m显示所有的php编译的模块,如果没有就要通过phpize添加该功能模块。

phpize官方说明:是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块。

 

******************************************************************************************

使用phpize扩展memcached模块的步骤:

 

1 下载网址 http://memcached.googlecode.com/

 

tar zxf memcache-2.2.5.tgz

 

2  cd memcache-2.2.5

 

3 phpize(我已经将路径加入到~/.bash_profile文件下,如果没有加入的要用绝对路径)

 

 

****************************************

可能出现的问题:

Cannot find config.m4.

解决:

是因为你没有cd到memcache-2.2.5目录下

***************************************

 

4 ./configure

 

5 make  &&  make insall

 

6 vim   /usr/local/lnmp/php/etc/php.ini

 

内容:(配置文件里有说明添加扩展模块怎么写,模仿着写)

 

extension=memcache.so

 

7 /etc/init.d/php-fpm reload

 

 

*******************************************************************************************

可能出现reload服务后仍然没有memcache的情况,这时要检查你使用的是系统带有的rpm包,还是源码编译的包,如果是系统的rpm包则要先把系统的包删除,然后就可以了

[root@server1 etc]# which php

/usr/bin/php

[root@server1 etc]# rpm -qa|grep php

php-cli-5.3.3-26.el6.x86_64

php-common-5.3.3-26.el6.x86_64

php-5.3.3-26.el6.x86_64

[root@server1 etc]# rpm -e `rpm -qa|grep php`

[root@server1 etc]# source  ~/.bash_profile

[root@server1 etc]# which php

/usr/local/lnmp/php/bin/php

[root@server1 etc]# php -m |grep mem

memcache

******************************************************************************************

 

 

###往mecache里存信息###

[root@server1 ~]# telnet localhost 11211

Trying ::1...

Connected to localhost.

Escape character is '^]'.

set name 0 0 6###第二个0指不过期,如果是10,则指10后过期,6指的是存的字符数为6####

westos

STORED

get name

VALUE name 0 6

westos

END

delete name

DELETED

get name

END

 

 

 

###openresty###

 

nginx本身具有高并发的特点,如果将缓存放在php后面,则客户请求发给nginx,nginx给php-fpm处理,然后缓存到memcache上,则nginx就要等待php-fpm的处理结束,那么就会影响到ngnix本身的效率,但是,如果把memcache放在nginx之后,客户请求过来,如果缓存里有,就可以直接从memcache中取来发给客户端,而不用再等php-fpm,因此就不会影响到nginx的效率,将缓存放在nginx之后需要memc和srcache模块,此实验直接安装openresty做更方便。

 

openresty是一个全功能的web服务器。他打包了标准的nginx核心,很多的常用的第三方模块,以及他们大多数的依赖项。(来自官网)

 

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

 

内容:

  upstream memcache {

                server  127.0.0.1:11211;

                keepalive 512;

        }

 

        location /memc {

                internal;

                 memc_connect_timeout 100ms;

                memc_send_timeout 100ms;

                memc_read_timeout 100ms;

                 set $memc_key $query_string;

                set $memc_exptime 300;

                memc_pass memcache;

 

        }

 

  location ~ \.php$ {

             set $key $uri$args;

             srcache_fetch GET /memc $key;

             srcache_store PUT /memc $key;

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

           # fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

            include        fastcgi.conf;

        }

 

 

 

 

 

 

 

具体过程如下:

[root@server1 ~]# tar zxf openresty-1.11.2.3.tar.gz

[root@server1 ~]# cd openresty-1.11.2.3

[root@server1 openresty-1.11.2.3]# ls

bundle     COPYRIGHT  README.markdown   util

configure  patches    README-win32.txt

[root@server1 openresty-1.11.2.3]# ./configure

 

[root@server1 openresty-1.11.2.3]# gmake && gmake install

 

[root@server1 openresty-1.11.2.3]# ls

build   configure  Makefile  README.markdown   util

bundle  COPYRIGHT  patches   README-win32.txt

[root@server1 openresty-1.11.2.3]# cd /usr/local/openresty/

[root@server1 openresty]# ls

bin  luajit  lualib  nginx  pod  resty.index  site

[root@server1 openresty]# nginx -s stop

[root@server1 openresty]# cd nginx/

[root@server1 nginx]# ls

conf  html  logs  sbin

[root@server1 nginx]# cd conf/

[root@server1 conf]# ls

fastcgi.conf            koi-win             scgi_params

fastcgi.conf.default    mime.types          scgi_params.default

fastcgi_params          mime.types.default  uwsgi_params

fastcgi_params.default  nginx.conf          uwsgi_params.default

koi-utf                 nginx.conf.default  win-utf

[root@server1 conf]# vim nginx.conf

 

测试:

 ab -c10 -n 50000 http://172.25.78.1/index.php

















本文转自blueclo51CTO博客,原文链接: http://blog.51cto.com/12774272/1950252  ,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
6月前
|
人工智能 算法 搜索推荐
AI时代新纪元:2026年Geo优化的三大核心破局点
2026年Geo优化的破局点,不在于追逐算法的细枝末节,而在于回归内容本质,构建AI无法替代的“信任生态”。
288 0
|
SQL 数据可视化 BI
VeryReport和FineReport两款报表软件深度分析对比
VeryReport和FineReport两款报表软件深度分析对比
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
2228 7
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
978 3
|
监控 API 定位技术
App 出海:全渠道营销如何通过性能监控与精准归因实现增长
在App出海竞争加剧的背景下,营销面临流量碎片化和用户体验断层的问题。海外用户决策链路复杂,触点多、周期长且设备场景多样。传统营销归因粗放,性能问题导致用户流失。AppTrace平台通过全链路监控与精准归因体系,整合线上线下数据,优化性能体验,并提供实战案例证明其有效性。最终帮助企业实现数据驱动的渠道优化和全周期用户管理,在海外市场建立核心竞争优势。
|
定位技术 数据库
EndNote导入文献引用后无法显示期刊名称的解决办法
EndNote导入文献引用后无法显示期刊名称的解决办法
1507 1
技术指标和振荡器大全(一)(4)
技术指标和振荡器大全(一)(4)
473 0
|
开发框架 移动开发 前端开发
基于.Net Core开发的支付SDK,简化支付功能开发
基于.Net Core开发的支付SDK,简化支付功能开发
579 0