• 关于

    page_file

    的搜索结果

回答

file_operation是Linux内核驱动中一个非常重要的结构体,它建立了用户空间与内核空间之间的联系。file_operation结构体定义在linux内核的includelinuxfs.h文件中,定义是这样的:struct module owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *); ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t); ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t); int (*readdir) (struct file *, void *, filldir_t); unsigned int (*poll) (struct file *, struct poll_table_struct *); / remove by cym 20130408 support for MT660.ko / #if 0 //#ifdef CONFIG_SMM6260_MODEM #if 1// liang, Pixtree also need to use ioctl interface... int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); #endif #endif / end remove / long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long); long (*compat_ioctl) (struct file *, unsigned int, unsigned long); int (*mmap) (struct file *, struct vm_area_struct *); int (*open) (struct inode *, struct file *); int (*flush) (struct file *, fl_owner_t id); int (*release) (struct inode *, struct file *); int (*fsync) (struct file *, int datasync); int (*aio_fsync) (struct kiocb *, int datasync); int (*fasync) (int, struct file *, int); int (*lock) (struct file *, int, struct file_lock *); ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int); unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); int (*check_flags)(int); int (*flock) (struct file *, int, struct file_lock *); ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); int (*setlease)(struct file *, long, struct file_lock *); long (*fallocate)(struct file file, int mode, loff_t offset, loff_t len); / add by cym 20130408 support for MT6260 and Pixtree / #if defined(CONFIG_SMM6260_MODEM) || defined(CONFIG_USE_GPIO_AS_I2C) int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); #endif / end add */ }; 由定义可以看出,该结构体里面定义了许多的函数指针,例如我们在写驱动程序时经常会用到的open、ioctl、read、write等。同时也指明了函数指针里面的参数,这也是为什么我们在写Linux驱动程序的open等函数时,里面的参数都是固定的,不能自己额外添加。当我们在驱动程序中完成open、close等函数之后,就必须在file_operation里面进行映射,使file_operation里面的函数指针一一对应你自己编写的open、colse等方法。这样我们在用户空间中就可以通过调用close、open等函数来调用Linux内核你自己编写的驱动程序啦,不过要成功调用这些函数,你还必须include<fcntl.h>头文件,关于这部分的内容,你可以详细阅读linux的VFS,里面会有详细介绍哦。 可以参考《Linux设备驱动开发详解_宋宝华》这本书里面的 struct file _ operations { struct module owner; // 拥有该结构的模块的指针,一般为 THIS _ MODULES loff _ t(*llseek)(struct file *, loff _ t, int); // 用来修改文件当前的读写位置 ssize _ t(*read)(struct file *, char _ _ user *, size _ t, loff _ t); // 从设备中同步读取数据 ssize _ t(*aio _ read)(struct kiocb , char _ _ user *, size _ t, loff _ t); // 初始化一个异步的读取操作 ssize _ t(*write)(struct file *, const char _ _ user *, size _ t, loff _ t); // 向设备发送数据 ssize _ t(*aio _ write)(struct kiocb , const char _ _ user *, size _ t, loff _ t); // 初始化一个异步的写入操作 int(*readdir)(struct file *, void *, filldir _ t); // 仅用于读取目录,对于设备文件,该字段为 NULL unsigned int(*poll)(struct file *, struct poll _ table _ struct); // 轮询函数,判断目前是否可以进行非阻塞的读取或写入 int(*ioctl)(struct inode , struct file *, unsigned int, unsigned long); // 执行设备 I/O 控制命令 long(*unlocked _ ioctl)(struct file *, unsigned int, unsigned long); // 不使用 BLK 文件系统,将使用此种函数指针代替 ioctl long(*compat _ ioctl)(struct file *, unsigned int, unsigned long); // 在 64 位系统上,32 位的 ioctl 调用将使用此函数指针代替 int(*mmap)(struct file *, struct vm _ area _ struct); // 用于请求将设备内存映射到进程地址空间 int(*open)(struct inode , struct file); // 打开 int(*flush)(struct file*); int(*release)(struct inode , struct file); // 关闭 int(*synch)(struct file , struct dentry *, int datasync); // 刷新待处理的数据 int(*aio _ fsync)(struct kiocb *, int datasync); // 异步 fsync int(*fasync)(int, struct file *, int); // 通知设备 FASYNC 标志发生变化 int(*lock)(struct file *, int, struct file _ lock); ssize _ t(*readv)(struct file , const struct iovec *, unsigned long, loff _ t); ssize _ t(*writev)(struct file , const struct iovec *, unsigned long, loff _ t); // readv 和 writev:分散/聚集型的读写操作 ssize _ t(*sendfile)(struct file , loff _ t *, size _ t, read _ actor _ t, void); // 通常为 NULL ssize _ t(*sendpage)(struct file , struct page *, int, size _ t, loff _ t *, int); // 通常为 NULL unsigned long(*get _ unmapped _ area)(struct file *,unsigned long, unsigned long, unsigned long, unsigned long); // 在进程地址空间找到一个将底层设备中的内存段映射的位置 int(*check _ flags)(int); // 允许模块检查传递给 fcntl(F _ SETEL...)调用的标志 int(*dir _ notify)(struct file *filp, unsigned long arg); // 仅对文件系统有效,驱动程序不必实现 int(*flock)(struct file *, int, struct file _ lock); };

杨冬芳 2019-12-02 03:08:15 0 浏览量 回答数 0

回答

拿去用,不谢 if (! is_writable(__DIR__)) { exit('目录不可写,exit'); } $cookie_file = 'cookies.txt'; $username = 'ty0716'; $password = 'test12345'; $post = array( 'username' => $username, 'password' => $password, 'expire' => '', 'url' => '', 'time' => time(), 'act' => 'do_login' ); // username=ty0716&password=qaz&expire=&url=&time=1456104638534&act=do_login $login_url = 'http://www.lazpw.cn/plus/ajax_user.php'; $login = post($login_url, http_build_query($post), $cookie_file); if ($login == 'err') { exit('用户名或密码错误'); } $login_log_page = get('http://www.lazpw.cn/user/personal/personal_user.php?act=login_log', $cookie_file); echo iconv("UTF-8", "GB2312//IGNORE", $login_log_page); unlink($cookie_file); function post($url, $data, $cookie_file) { // 初始化 $curl = curl_init($url); // 不输出header头信息 curl_setopt($curl, CURLOPT_HEADER, 0); // 保存到字符串而不是输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($curl, CURLOPT_POST, 1); // 请求数据 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // 是否抓取跳转后的页面 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); $req = curl_exec($curl); curl_close($curl); return $req; } function get($url, $cookie_file) { // 初始化 $curl = curl_init($url); // 不输出header头信息 curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file); // 保存到字符串而不是输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 是否抓取跳转后的页面 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); $req = curl_exec($curl); curl_close($curl); return $req; }

杨冬芳 2019-12-02 02:55:26 0 浏览量 回答数 0

问题

什么是“a block is a sentinel for a buffer pool watch.”

sun_ashe 2019-12-01 19:30:53 878 浏览量 回答数 1

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

问题

mkvirtualenv创建虚拟环境提示404

quq 2019-12-01 20:20:23 5340 浏览量 回答数 1

问题

尝试上传一个文件名已被哈希到AWS S3 bucket

kun坤 2019-12-30 10:33:18 0 浏览量 回答数 1

问题

阿里云Ubuntu 16.04无法建立虚拟环境virtualenv,提示资源不存在

summer_x_sun 2019-12-01 19:40:13 2037 浏览量 回答数 2

问题

【每日一教6.15】官方配置vsftpd出现530错误解决方法

李逵 2019-12-01 22:01:26 8230 浏览量 回答数 1

问题

使用centOS6.8 搭建FTP,无法上传文件

jasonliu1993 2019-12-01 21:37:59 3591 浏览量 回答数 3

问题

flask db.session.commit()抛出 InvalidRequestError?

a123456678 2019-12-01 20:16:27 1995 浏览量 回答数 1

问题

flask db.session.commit()抛出 InvalidRequestError?

a123456678 2019-12-01 20:13:46 1570 浏览量 回答数 1

问题

{Python 3.8} setuptools上的pip命令错误

is大龙 2020-03-24 15:35:38 6 浏览量 回答数 2

回答

没log,没代码,你问啥? 你去把《提问的智慧》抄十遍###### user  root; worker_processes  auto; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid        logs/nginx.pid; events {     worker_connections  10240; } http {     include       mime.types;     default_type  application/octet-stream;     sendfile        on;     keepalive_timeout  65;     client_max_body_size 0;     client_body_temp_path /data/nginx-temp;     gzip on;     gzip_min_length 1k;     gzip_buffers 4 16k;     #gzip_http_version 1.0;     gzip_comp_level 5;     gzip_types text/plain application/json application/x-protobuf text/css application/x-javascript text/javascript;     gzip_vary off;     upstream app_backend {                 server 172.18.26.253:50217 weight=8  max_fails=3 fail_timeout=5s;                 server 172.18.26.254:50217 weight=2  max_fails=3 fail_timeout=5s;                  keepalive 90;        }             upstream opendoor_backend {                 server 172.18.26.253:50218 weight=8  max_fails=3 fail_timeout=5s;                 server 172.18.26.254:50218 weight=2  max_fails=3 fail_timeout=5s;                  keepalive 90;        }             #django     upstream manage_backend {                 server 172.18.26.253:50223 weight=8  max_fails=3 fail_timeout=5s;                 server 172.18.26.254:50223 weight=2  max_fails=3 fail_timeout=5s;                  keepalive 90;        }          #web produce     server {         listen       0:80;         server_name  app.xiaoxiaowo.com;     auth_basic "auth";     auth_basic_user_file /usr/local/nginx/conf/htpasswd;                          location / {             proxy_pass  http://app_backend;             #proxy_set_header  Connection "keep-alive";             proxy_set_header  Connection "";             proxy_http_version 1.1;             proxy_set_header Host $host;             proxy_set_header X-Real-IP $remote_addr;         }                  location /download/ {         root /data/file;     }                  error_page   500 502 503 504  /50x.html;         location = /50x.html {             root   html;         }     }          #file server     #server     #{         #autoindex on;         #listen 8080;         #auth_basic "auth";         #auth_basic_user_file /usr/local/nginx/conf/htpasswd;         #dav_methods PUT;         #location /download {                 #root /data/file;             #}         #}          #manage produce     server {         listen       0:80;         server_name  manage.xiaoxiaowo.com;     auth_basic "auth";     auth_basic_user_file /usr/local/nginx/conf/htpasswd;         location / {             proxy_pass  http://manage_backend;             proxy_set_header  Connection "";             proxy_http_version 1.1;             proxy_set_header Host $host;             proxy_set_header X-Real-IP $remote_addr;         }                  error_page   500 502 503 504  /50x.html;         location = /50x.html {             root   html;         }     }          #opendoor produce     server {         listen       0:80;         server_name  opendoor.xiaoxiaowo.com;     auth_basic "auth";     auth_basic_user_file /usr/local/nginx/conf/htpasswd;         location / {             proxy_pass  http://opendoor_backend;             proxy_set_header  Connection "";             proxy_http_version 1.1;             proxy_set_header Host $host;             proxy_set_header X-Real-IP $remote_addr;         }                  error_page   500 502 503 504  /50x.html;         location = /50x.html {             root   html;         }     } }   正好昨天搞了个,给你看看######    大神  nginx配置好了  页面上请求不到数据  请赐教。  谢谢了###### 啃爹,你启动的端口是80,访问使用 8080,怎么可以。。 http://localhost:8080  listen 80  ###### 我是小白。    http://localhost:8080   这个是写在哪里    不是很懂###### 页面是通过 npm start 临时生成的一个页面   http://localhost:9800/#fillout     这个也不是很懂它的机制  我在这个上面怎么弄 都是请求不到数据的 哎。######   那还是去看看书吧,这个教学的成本太高。。。呵呵###### 嗯嗯  谢谢了。   大神

爱吃鱼的程序员 2020-06-04 16:40:46 0 浏览量 回答数 0

问题

为什么nginx每次都转到同一个tomcat上?

落地花开啦 2019-12-01 19:23:37 915 浏览量 回答数 1

回答

user nobody; worker_processes 1; error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; sendfile on; tcp_nopush on; keepalive_timeout 65; charset utf-8; server_names_hash_bucket_size 128; client_header_buffer_size 4k; client_body_buffer_size 512k; client_max_body_size 300m; large_client_header_buffers 4 32k; tcp_nodelay on; proxy_connect_timeout 5; proxy_read_timeout 60; proxy_send_timeout 60; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 64k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript application/json text/css application/xml; gzip_vary on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; #location / { # root html; # index index.html index.htm; #} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location / { proxy_pass http://oa.telecom_ip.com; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_redirect off; #proxy_redirect default; } } } 说明:使用nginx,在阿里云主机上做反向代理就可以了(正常来说,如果OA系统渲染的html链接是绝对链接,并且没有读取Host来拼,那就需要注意配置nginx所在机器的ip或者对应的域名。)

一溜 2019-12-01 23:41:20 0 浏览量 回答数 0

问题

onsubmit触发事件把表单数据发送到相关php处理问题

小旋风柴进 2019-12-01 20:23:33 1105 浏览量 回答数 1

回答

回 1楼ivmmff的帖子 怎么在ssh上用?我用 systemctl status vsftpd看它状态是正常的 ------------------------- Re各位大神,请问为什么命令行访问ftp不能用ls,dir命令? 恩,ssh能用ls.    # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO # # Uncomment this to allow local users to log in. # When SELinux is enforcing check for SE bool ftp_home_dir local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # allow_writeable_chroot=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. # When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/xferlog # # If you want, you can have your log file in standard ftpd xferlog format. # Note that the default log file location is /var/log/xferlog in this case. xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. #ascii_upload_enable=YES #ascii_download_enable=YES # # You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd/banned_emails # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). # (Warning! chroot'ing can be very d-a-n-gerous. If using chroot, make sure that # the user does not have write access to the top level directory within the # chroot) chroot_local_user=YES chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive. listen=YES # # This directive enables listening on IPv6 sockets. By default, listening # on the IPv6 "any" address (::) will accept connections from both IPv6 # and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6 # sockets. If you want that (perhaps because you want to listen on specific # addresses) then you must run two copies of vsftpd with two configuration # files. # Make sure, that one of the listen options is commented !! #listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES    这是我的vsftpd.conf, 请问下有问题吗? ------------------------- 回 3楼ivmmff的帖子 请问我的配置对吗? ------------------------- 回 8楼dongshan8的帖子 好的,那我就用ftp软件好了,谢谢! ------------------------- 回 7楼鬼才神兵的帖子 谢谢! ------------------------- 回 6楼ivmmff的帖子 没关系,谢谢!

锋在吼 2019-12-02 02:34:02 0 浏览量 回答数 0

问题

Mysql sql偶尔慢的问题

themoment 2019-12-01 19:24:59 1521 浏览量 回答数 2

回答

http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; client_header_buffer_size 16K; large_client_header_buffers 4 64K; client_body_buffer_size 512k; client_max_body_size 10m; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 300; proxy_read_timeout 300; proxy_send_timeout 300; proxy_buffer_size 32k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy_headers_hash_max_size 51200; proxy_headers_hash_bucket_size 6400; gzip on; server { listen 80; server_name localhost test.jsh178.com; # index index.html index.htm; # rewrite ^(.*) https://$host$1 permanent; access_log off; location / { proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_set_header X-Forwarded-For $http_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $Host; proxy_pass http://127.0.0.1:8080; error_page 404 = /404.html; } } HTTPS server # server { listen 443; server_name test.jsh178.com; ssl on; ssl_certificate 1_test.jsh178.com_bundle.crt; ssl_certificate_key 2_test.jsh178.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_set_header X-Forwarded-For $http_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $Host; proxy_pass http://127.0.0.1:8080; error_page 404 = /404.html; } } 这个是我的Nginx的配置

聚石惠 2019-12-01 23:48:59 0 浏览量 回答数 0

回答

1、历史原因 varchar在MySQL 5.0.3之前只支持0-255byte,在MySQL 5.0.3之后才支持到0-65535byte 这里的255是字符的长度 2、varchar的最大长度 看一段代码 mysql> show variables like '%col%'; +---------------------------+-----------------+ | Variable_name | Value | +---------------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | | protocol_version | 10 | | slave_compressed_protocol | OFF | +---------------------------+-----------------+ 5 rows in set (0.00 sec) mysql> show char set; +----------+-----------------------------+---------------------+--------+ | Charset | Description | Default collation | Maxlen | +----------+-----------------------------+---------------------+--------+ | big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 | | dec8 | DEC West European | dec8_swedish_ci | 1 | | cp850 | DOS West European | cp850_general_ci | 1 | | hp8 | HP West European | hp8_english_ci | 1 | | koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 | | latin1 | cp1252 West European | latin1_swedish_ci | 1 | | latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 | | swe7 | 7bit Swedish | swe7_swedish_ci | 1 | | ascii | US ASCII | ascii_general_ci | 1 | | ujis | EUC-JP Japanese | ujis_japanese_ci | 3 | | sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 | | hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 | | tis620 | TIS620 Thai | tis620_thai_ci | 1 | | euckr | EUC-KR Korean | euckr_korean_ci | 2 | | koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 | | gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 | | greek | ISO 8859-7 Greek | greek_general_ci | 1 | | cp1250 | Windows Central European | cp1250_general_ci | 1 | | gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 | | latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 | | armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 | | utf8 | UTF-8 Unicode | utf8_general_ci | 3 | | ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 | | cp866 | DOS Russian | cp866_general_ci | 1 | | keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 | | macce | Mac Central European | macce_general_ci | 1 | | macroman | Mac West European | macroman_general_ci | 1 | | cp852 | DOS Central European | cp852_general_ci | 1 | | latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 | | utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 | | cp1251 | Windows Cyrillic | cp1251_general_ci | 1 | | utf16 | UTF-16 Unicode | utf16_general_ci | 4 | | utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 | | cp1256 | Windows Arabic | cp1256_general_ci | 1 | | cp1257 | Windows Baltic | cp1257_general_ci | 1 | | utf32 | UTF-32 Unicode | utf32_general_ci | 4 | | binary | Binary pseudo charset | binary | 1 | | geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 | | cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 | | eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 | +----------+-----------------------------+---------------------+--------+ 40 rows in set (0.00 sec) mysql> create database testdbx DEFAULT CHARACTER SET latin1; mysql> use testdb; Database changed mysql> use testdbx; Database changed mysql> drop table if exists testa;create table testa (name varchar(65532)); mysql> drop table if exists testa;create table testa (name varchar(65533)); Query OK, 0 rows affected (0.01 sec) ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs mysql> drop table if exists testa;create table testa (name varchar(65533) not null); 总结如下 name varchar(100) not null will be 1 byte (length) + up to 100 chars (latin1) name varchar(500) not null will be 2 bytes (length) + up to 500 chars (latin1) name varchar(65533) not null will be 2 bytes (length) + up to 65533 chars (latin1) name varchar(65532) will be 2 bytes (length) + up to 65532 chars (latin1) + 1 null byte mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532 3、varchar物理存储 在物理存储上,varchar使用1到2个额外的字节表示实际存储的字符串长度(bytes)。如果列的最大长度小于256个字节,用一个字节表示(标识)。如果最大长度大于等于256,使用两个字节。 当选择的字符集为latin1,一个字符占用一个byte varchar(255)存储一个字符,使用2bytes物理空间存储数据实际数据长度和数据值。 varchar(256)存储一个字符,使用2bytes表示实际数据长度,一共需要3bytes物理存储空间。 varchar对于不同的RDBMS引擎,有不通的物理存储方式,虽然有统一的逻辑意义。对于mysql的不同存储引擎,其实现方法与数据的物理存放方式也不同。 4、InnoDB中的varchar InnoDB中varchar的物理存储方式与InnoDB使用的innodb_file_format有关。 早期的innodb_file_forma = Antelope;支持redundant和compact两种row_format5.5开始或者InnoDB1.1,可以使用一种新的file format = Barracuda;Barracuda兼容Redundant,另外还支持dynamic和compressed两种row_format当innodb_file_format=Antelope,ROW_FORMAT=REDUNDANT 或者COMPACT。innodb的聚集索引(cluster index)仅仅存储varchar、text、blob字段的前768个字节,多余的字节存储在一个独立的overflow page中,这个列也被称作off-page。768个字节前缀后面紧跟着20字节指针,指向overflow pages的位置。 另外,在innodb_file_format=Antelope情况下,InnoDB中最多能存储10个大字段(需要使用off-page存储)。innodbd的默认page size为16KB,InnoDB单行的长度不能超过16k/2=8k个字节,(768+20)*10 < 8k。 当innodb_file_format=Barracuda, ROW_FORMAT=DYNAMIC 或者 COMPRESSED innodb中所有的varchar、text、blob字段数据是否完全off-page存储,根据该字段的长度和整行的总长度而定。对off-page存储的列,cluster index中仅仅存储20字节的指针,指向实际的overflow page存储位置。如果单行的长度太大而不能完全适配cluster index page,innodb将会选择最长的列作为off-page存储,直到行的长度能够适配cluster index page。 5、MyISAM中的varchar 对于MyISAM引擎,varchar字段所有数据存储在数据行内(in-line)。MyISAM表的row_format也影响到varchar的物理存储行为。 MyISAM的row_format可以通过create或者alter sql语句设为fixed和dynamic。另外可以通过myisampack生成row_format=compresse的存储格式。 当MyISAM表中不存在text或者blob类型的字段,那么可以把row_format设置为fixed(也可以为dynamic),否则只能为dynamic。 当表中存在varchar字段的时候,row_format可以设定为fixed或者dynamic。使用row_format=fixed存储varchar字段数据,浪费存储空间,varchar此时会定长存储。row_format为fixed和dynamic,varchar的物理实现方式也不同(可以查看源代码文件field.h和field.cc),因而myisam的row_format在fixed和dynamic之间发生转换的时候,varchar字段的物理存储方式也将会发生变化。 总结 : 1、存储2^8 = 256 / overflow pages / 历史原因 3、varchar不一定比char慢 3、如果有大字段使用text,请拆表 4、varchar建立索引的时候,前面20个字符以内即可 5、其实该怎么用还要怎么用 varchar(30) 、 vachar(300)等 参考资料:http://dev.mysql.com/doc/refman/5.5/en/column-count-limit.html 1、历史原因varchar在MySQL 5.0.3之前只支持0-255byte,在MySQL 5.0.3之后才支持到0-65535byte这里的255是字符的长度 2、varchar的最大长度看一段代码 mysql> show variables like '%col%'; +---------------------------+-----------------+ | Variable_name | Value | +---------------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | | protocol_version | 10 | | slave_compressed_protocol | OFF | +---------------------------+-----------------+ 5 rows in set (0.00 sec) mysql> show char set; +----------+-----------------------------+---------------------+--------+ | Charset | Description | Default collation | Maxlen | +----------+-----------------------------+---------------------+--------+ | big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 | | dec8 | DEC West European | dec8_swedish_ci | 1 | | cp850 | DOS West European | cp850_general_ci | 1 | | hp8 | HP West European | hp8_english_ci | 1 | | koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 | | latin1 | cp1252 West European | latin1_swedish_ci | 1 | | latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 | | swe7 | 7bit Swedish | swe7_swedish_ci | 1 | | ascii | US ASCII | ascii_general_ci | 1 | | ujis | EUC-JP Japanese | ujis_japanese_ci | 3 | | sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 | | hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 | | tis620 | TIS620 Thai | tis620_thai_ci | 1 | | euckr | EUC-KR Korean | euckr_korean_ci | 2 | | koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 | | gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 | | greek | ISO 8859-7 Greek | greek_general_ci | 1 | | cp1250 | Windows Central European | cp1250_general_ci | 1 | | gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 | | latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 | | armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 | | utf8 | UTF-8 Unicode | utf8_general_ci | 3 | | ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 | | cp866 | DOS Russian | cp866_general_ci | 1 | | keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 | | macce | Mac Central European | macce_general_ci | 1 | | macroman | Mac West European | macroman_general_ci | 1 | | cp852 | DOS Central European | cp852_general_ci | 1 | | latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 | | utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 | | cp1251 | Windows Cyrillic | cp1251_general_ci | 1 | | utf16 | UTF-16 Unicode | utf16_general_ci | 4 | | utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 | | cp1256 | Windows Arabic | cp1256_general_ci | 1 | | cp1257 | Windows Baltic | cp1257_general_ci | 1 | | utf32 | UTF-32 Unicode | utf32_general_ci | 4 | | binary | Binary pseudo charset | binary | 1 | | geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 | | cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 | | eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 | +----------+-----------------------------+---------------------+--------+ 40 rows in set (0.00 sec) mysql> create database testdbx DEFAULT CHARACTER SET latin1; mysql> use testdb; Database changed mysql> use testdbx; Database changed mysql> drop table if exists testa;create table testa (name varchar(65532)); mysql> drop table if exists testa;create table testa (name varchar(65533)); Query OK, 0 rows affected (0.01 sec) ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs mysql> drop table if exists testa;create table testa (name varchar(65533) not null); 总结如下 name varchar(100) not null will be 1 byte (length) + up to 100 chars (latin1) name varchar(500) not null will be 2 bytes (length) + up to 500 chars (latin1) name varchar(65533) not null will be 2 bytes (length) + up to 65533 chars (latin1) name varchar(65532) will be 2 bytes (length) + up to 65532 chars (latin1) + 1 null byte mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532 3、varchar物理存储 在物理存储上,varchar使用1到2个额外的字节表示实际存储的字符串长度(bytes)。如果列的最大长度小于256个字节,用一个字节表示(标识)。如果最大长度大于等于256,使用两个字节。 当选择的字符集为latin1,一个字符占用一个byte varchar(255)存储一个字符,使用2bytes物理空间存储数据实际数据长度和数据值。 varchar(256)存储一个字符,使用2bytes表示实际数据长度,一共需要3bytes物理存储空间。 varchar对于不同的RDBMS引擎,有不通的物理存储方式,虽然有统一的逻辑意义。对于mysql的不同存储引擎,其实现方法与数据的物理存放方式也不同。 4、InnoDB中的varchar InnoDB中varchar的物理存储方式与InnoDB使用的innodb_file_format有关。 早期的innodb_file_forma = Antelope;支持redundant和compact两种row_format5.5开始或者InnoDB1.1,可以使用一种新的file format = Barracuda;Barracuda兼容Redundant,另外还支持dynamic和compressed两种row_format当innodb_file_format=Antelope,ROW_FORMAT=REDUNDANT 或者COMPACT。innodb的聚集索引(cluster index)仅仅存储varchar、text、blob字段的前768个字节,多余的字节存储在一个独立的overflow page中,这个列也被称作off-page。768个字节前缀后面紧跟着20字节指针,指向overflow pages的位置。 另外,在innodb_file_format=Antelope情况下,InnoDB中最多能存储10个大字段(需要使用off-page存储)。innodbd的默认page size为16KB,InnoDB单行的长度不能超过16k/2=8k个字节,(768+20)*10 < 8k。 当innodb_file_format=Barracuda, ROW_FORMAT=DYNAMIC 或者 COMPRESSED innodb中所有的varchar、text、blob字段数据是否完全off-page存储,根据该字段的长度和整行的总长度而定。对off-page存储的列,cluster index中仅仅存储20字节的指针,指向实际的overflow page存储位置。如果单行的长度太大而不能完全适配cluster index page,innodb将会选择最长的列作为off-page存储,直到行的长度能够适配cluster index page。 5、MyISAM中的varchar 对于MyISAM引擎,varchar字段所有数据存储在数据行内(in-line)。MyISAM表的row_format也影响到varchar的物理存储行为。 MyISAM的row_format可以通过create或者alter sql语句设为fixed和dynamic。另外可以通过myisampack生成row_format=compresse的存储格式。 当MyISAM表中不存在text或者blob类型的字段,那么可以把row_format设置为fixed(也可以为dynamic),否则只能为dynamic。 当表中存在varchar字段的时候,row_format可以设定为fixed或者dynamic。使用row_format=fixed存储varchar字段数据,浪费存储空间,varchar此时会定长存储。row_format为fixed和dynamic,varchar的物理实现方式也不同(可以查看源代码文件field.h和field.cc),因而myisam的row_format在fixed和dynamic之间发生转换的时候,varchar字段的物理存储方式也将会发生变化。 总结 : 1、存储2^8 = 256 / overflow pages / 历史原因 3、varchar不一定比char慢 3、如果有大字段使用text,请拆表 4、varchar建立索引的时候,前面20个字符以内即可 5、其实该怎么用还要怎么用 varchar(30) 、 vachar(300)等 参考资料:http://dev.mysql.com/doc/refman/5.5/en/column-count-limit.html

西秦说云 2019-12-02 01:33:17 0 浏览量 回答数 0

回答

以 oschina 为例: 生成项目 $ scrapy startproject oschina $ cd oschina 配置 编辑 settings.py, 加入以下(主要是User-agent和piplines): USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0' LOG_LEVEL = 'ERROR' RETRY_ENABLED = False DOWNLOAD_TIMEOUT = 10 ITEM_PIPELINES = { 'oschina.pipelines.SomePipeline': 300, } 编辑 items.py, 内容如下: # -- coding: utf-8 -- import scrapy class OschinaItem(scrapy.Item): Link = scrapy.Field() LinkText = scrapy.Field() 编辑 pipelines.py, 内容如下: # -- coding: utf-8 -- import json from scrapy.exceptions import DropItem class OschinaPipeline(object): def init(self): self.file = open('result.jl', 'w') self.seen = set() # 重复检测集合 def process_item(self, item, spider): if item['link'] in self.seen: raise DropItem('Duplicate link %s' % item['link'])self.seen.add(item['link']) line = json.dumps(dict(item), ensure_ascii=False) + '\n' self.file.write(line) return item 生成模板spider然后修改: $ scrapy genspider scrapy_oschina oschina.net # scrapy genspider 爬虫名 要爬取的域名编辑 spiders/scrapy_oschina.py: # -- coding: utf-8 -- import scrapy from oschina.items import OschinaItem class ScrapyOschinaSpider(scrapy.Spider): name = "scrapy_oschina" allowed_domains = ["oschina.net"] start_urls = ( ' http://www.oschina.net/', ) def parse(self, response): sel = scrapy.Selector(response) links_in_a_page = sel.xpath('//a[@href]') # 页面内的所有链接for link_sel in links_in_a_page: item = OschinaItem() link = str(link_sel.re('href="(.*?)"')[0]) # 每一个urlif link: if not link.startswith('http'): # 处理相对URLlink = response.url + link yield scrapy.Request(link, callback=self.parse) # 生成新的请求, 递归回调self.parseitem['link'] = link link_text = link_sel.xpath('text()').extract() # 每个url的链接文本, 若不存在设为Noneif link_text: item['link_text'] = str(link_text[0].encode('utf-8').strip())else: item['link_text'] = None #print item['link'], # 取消注释在屏幕显示结果#print item['link_text'] yield item 运行: scrapy crawl scrapy_oschina 结果保存在 oschina.jl 文件中, 目的只是为了介绍怎样编写item pipeline,如果要将所有爬取的item都保存到同一个JSON文件, 需要使用 Feed exports截图如下: 运行截图 文件内容 保存数据到mongoDB 在 pipelines.py中加入: import pymongo class MongoPipeline(object): def init(self, mongo_host, mongo_port, mongo_db): self.mongo_host = mongo_host self.mongo_port = mongo_port self.mongo_db = mongo_db @classmethod def from_crawler(cls, crawler): return cls( mongo_host=crawler.settings.get('MONGO_HOST'),mongo_port=crawler.settings.get('MONGO_PORT'),mongo_db=crawler.settings.get('MONGO_DB', 'doubandb'),) def open_spider(self, spider): self.client = pymongo.MongoClient(self.mongo_host, self.mongo_port)self.db = self.client[self.mongo_db] def close_spider(self, spider): self.client.close() def process_item(self, item, spider): collection_name = item.class.__name__self.db[collection_name].insert(dict(item))return item 在settings.py设置相应的 MONGO_HOST(默认127.0.0.1),MONGO_PORT(默认27017), MONGO_DB, MONGO_COLLECTION, ITEM_PIPELINES字典加入这个项'scrapy_douban.pipelines.MongoPipeline':400,数字代表优先级, 越大越低 使用 XmlItemExporter 在pipelines.py添加: from scrapy.exporters import XmlItemExporterfrom scrapy import signals class XmlExportPipeline(object): def init(self): self.files = {} @classmethod def from_crawler(cls, crawler): pipeline = cls() crawler.signals.connect(pipeline.spider_opened, signals.spider_opened)crawler.signals.connect(pipeline.spider_closed, signals.spider_closed)return pipeline def spider_opened(self, spider): file = open('%s_urls.xml' % spider.name, 'w+b')self.files[spider] = file self.exporter = XmlItemExporter(file) self.exporter.start_exporting() def spider_closed(self, spider): self.exporter.finish_exporting() file = self.files.pop(spider) file.close() def process_item(self, item, spider): self.exporter.export_item(item) return item settings.py中 ITEM_PIPELINES 添加项 'oschina.pipelines.XmlExportPipeline':500, 答案来源于网络

养狐狸的猫 2019-12-02 03:01:49 0 浏览量 回答数 0

回答

server{        listen       80;server_name 域名; #server_name end        index index.php index.html index.htm; #index end        add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";        set $subdomain '';        root  路径$subdomain;        #error_page        error_page 401 /ErrorPages/401.html;        error_page 403 /ErrorPages/403.html;        error_page 404 /ErrorPages/404.html;        error_page 503 /ErrorPages/503.html;        #location ~ /ErrorPages/(400|401|403|404|405|502|503)\.html$        location / {             proxy_redirect off ;             proxy_set_header Host $host;             proxy_set_header X-Real-IP $remote_addr;             proxy_set_header REMOTE-HOST $remote_addr;             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;             client_max_body_size 50m;             client_body_buffer_size 256k;             proxy_connect_timeout 30;             proxy_send_timeout 30;             proxy_read_timeout 60;             proxy_buffer_size 256k;             proxy_buffers 4 256k;             proxy_busy_buffers_size 256k;             proxy_temp_file_write_size 256k;             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;             proxy_max_temp_file_size 128m;             proxy_pass    http://127.0.0.1:8081/;#本地应用地址        }        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$        {                expires      30d;        }        location ~ .*\.(js|css)$        {                expires      12h;        }} 从我们主机抄的,我简略了一下,大致是这样,没测过。你试试吧。

大德易科 2019-12-02 03:03:49 0 浏览量 回答数 0

问题

在导航到下一页并使用网站上的硒抓取所有数据时遇到错误?

is大龙 2020-03-24 22:27:53 1 浏览量 回答数 1

问题

wordpress网站除了首页内部链接全部打不开,nginx报错404

标志工场 2019-12-01 19:36:03 790 浏览量 回答数 0

回答

#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid    logs/nginx.pid; events{   worker_connections 1024; } http{   include   mime.types;   default_type application/octet-stream;   #server_names_hash_bucket_size64;   #log_format main '$remote_addr-$remote_user[$time_local]"$request"'   #         '$status$body_bytes_sent"$http_referer"'   #         '"$http_user_agent""$http_x_forwarded_for"';   #access_log logs/access.log main;   sendfile    on;   #tcp_nopush  on;   #keepalive_timeout 0;   keepalive_timeout 65;   #开启压缩功能,节省带宽,提高响应,但是会占CPU   gzip       on;   gzip_min_length   1000;   #压缩指定的文件类型   gzip_types    text/plaintext/cssapplication/x-javascript; upstreamjenkins { server127.0.0.1:8080;  } upstreamsolr { server127.0.0.1:8080;  } server{ listen   80; server_name 127.0.0.1; #charsetkoi8-r; #access_log logs/host.access.log main; large_client_header_buffers416k; client_max_body_size  50m; client_body_buffer_size256k; client_header_timeout3m; client_body_timeout3m; send_timeout3m; location/nginx{ roothtml; indexindex.html; } location/solr{ proxy_passhttp://solr; proxy_redirect     off; proxy_set_header    Host$host; proxy_set_header    X-Real-IP$remote_addr; proxy_set_header    X-Forwarded-For$proxy_add_x_forwarded_for; proxy_connect_timeout 600s; proxy_send_timeout   600s; proxy_read_timeout   600s; proxy_buffer_size   64k; proxy_buffers     432k; proxy_busy_buffers_size64k; proxy_temp_file_write_size128k; proxy_ignore_client_aborton; } location /jenkins{ proxy_passhttp://jenkins; proxy_redirect     off; proxy_set_header    Host$host; proxy_set_header    X-Real-IP$remote_addr; proxy_set_header    X-Forwarded-For$proxy_add_x_forwarded_for; proxy_connect_timeout 600s; proxy_send_timeout   600s; proxy_read_timeout   600s; proxy_buffer_size   64k; proxy_buffers     432k; proxy_busy_buffers_size64k; proxy_temp_file_write_size128k; proxy_ignore_client_aborton; } error_page 500502503504 /50x.html; location=/50x.html{   root html; } } } 加一下upstram就好了。很奇怪。 看日志是超时。 有防火墙的话,你再看下本地访问8080端口有问题没 你把worker_processes改成auto; 是linux服务器吗?是的话events里面加上useepoll;把proxy_passhttp://localhost:8080;中的localhost改成127.0.0.1就行了。就是本机测试的。设了负载均hen就好了?不用设,将localhost改成ip地址就好了。

爱吃鱼的程序员 2020-06-10 10:26:01 0 浏览量 回答数 0

问题

nginx 开启后只能在本机访问

a123456678 2019-12-01 20:08:01 2513 浏览量 回答数 1

问题

NGINX 作为反向代理与静态分离

caffee 2019-12-01 20:01:38 1423 浏览量 回答数 2

问题

Nginx 提示 no input file specified 。

a123456678 2019-12-01 20:10:12 1073 浏览量 回答数 1

问题

在Flask的网络中看不到图像

is大龙 2020-03-24 12:26:10 0 浏览量 回答数 1

问题

oss反向代理nginx失效

1324314517346730 2019-12-01 18:53:11 469 浏览量 回答数 1

问题

如何在PyQt5的窗口中调整QWebEnginePage的大小?

is大龙 2020-03-24 22:49:51 1 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站