linux samba 配置

1.配置一个共享目录

[media]
  #comment = share all
  path = /mnt/media
  browseable = yes

  writable = yes
  public = yes
  valid users = media
  force user = media
  available = yes

  create mask=0700
  directory mask=0700

2.创建用户:

现在要添加new这个网络访问帐户。如果系统中当前没有这个帐户,那么

代码:sudo useradd new
要注意,上面只是增加了new这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样

现在要新增网络使用者的帐号:

代码:sudo smbpasswd -a new # 设置你的new密码,这个密码不是开机登录时候用的,是你要访问WIN共享文件或者WIN共享文件访问你的时候要填的密码


删除网络使用者的帐号的命令把上面的 -a 改成 -x

sudo smbpasswd -x new

413 Request Entity Too Large

想上传一个新的主题,结果返回浏览器显示“413 Request Entity Too Large”。

第一感觉就是wp跑在docker里的原因,后从百度搜索了一下如下:

超过了nginx配置的限制,

看了一下nginx.conf发现没有设置client_max_body_size,这个参数默认只是1M,也就是说发布的文章内容大小不能超过1M

解决办法:

增加如下两行到nginx.conf的http{}段, 增大nginx上传文件大小限制

#设置允许发布内容为8M
client_max_body_size 8M;
client_body_buffer_size 128k;

另外如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误。

post_max_size = 8M
upload_max_filesize = 6M

修改完配置后,别忘记重新加载。

虽然这样修改能解决一般问题,相信大家都会问post_max_size 和 upload_max_filesize 之间关系是什么?

从字面含义看一个是上传文件最大值upload_max_filesize,一个是通过POST提交数据的最大值post_max_size ,一般在php中用的是POST方式上传。

所以php.ini中设置 memory_limit > post_max_size > upload_max_filesize

当上传大文件时为了防止网速慢时超时现象,需要适当调大max_execution_time的值。

首先创建一个 upload.ini 文件,随意放在哪里都可以。我的在:/home/wordpress/upload.ini

里面写入配置,然后保存。

file_uploads = On   memory_limit = 256M   upload_max_filesize = 32M   post_max_size = 32M   max_execution_time = 360

然后把正在运行的容器停止:

docker container stop wordpress

删除:

docker container rm wordpress

最后重新运行:

docker run --name wordpress --link db:mysql -p 32768:80 -e WORDPRESS_DB_HOST=mysql:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=root -e WORDPRESS_DB_NAME=wordpress -e WORDPRESS_TABLE_PREFIX=wp_ -v /home/wordpress/upload.ini:/usr/local/etc/php/conf.d/uploads.ini -d wordpress

这条命令和之前的区别就是加了一条 -v 命令,表示使用我们刚才创建的文件配置。

冒号前面的路径写你自己创建的 upload.ini 文件路径 ,后面的不用动。

这样就可以随意上传你喜欢的主题或者插件了

Solidworks 动画入门小tip

这些年3D软件快速发展,应用越来越多,从建模,装配,工程图这些基础应用,到现在FEA,运动分析也开始普及,一直对SW的运动分析不大熟悉,从网上找一些视频学习学习。

其操作要点是:

  1. 设定动作时间
  2. 将零部件移至时间点对应的位置
  3. 添加键码

不同颜色的进度条代表不同的类型:

  1. 黑色,在最上面,代表模型的变换
  2. 紫色,部件外观的变化
  3. 蓝色,部件的运动

python中列表的切片操作

有拾起了scipy,温习了odeint,但是遇到了之前没想明白的一个python语法,关于列表的切片操作

一个二维数组,要想取每个一级元素的某一位,如一个列表10个元素,每个元素又是包含(x,y)两个元素。

想把每个元素的第一个取出来,需要这样做:

list[:,0]

逗号,分隔出二维数组的维数。

冒号,切片操作。冒号前,起始元素;冒号后终止元素

三维数组同理

python中函数参数的打包和解包

最近学习scipy中的optimize模块的几个函数,包括fsolve,leastsq。注意到里面有几处函数调用,其参数调用不是很了解。于是百度/Google了一下。看了看觉得收益匪浅。

以fsolve为例,其定义如下:

def fsolve(func, x0, args=(), fprime=None, full_output=0, col_deriv=0, xtol=1.49012e-8, maxfev=0, band=None, epsfcn=None, factor=100, diag=None)

Parameters

func : callable “f(x, *args)“
A function that takes at least one (possibly vector) argument.

x0 : ndarray
The starting estimate for the roots of “func(x) = 0“.

args : tuple, optional
Any extra arguments to `func`.

fprime : callable(x), optional
A function to compute the Jacobian of `func` with derivatives across the rows. By default, the Jacobian will be estimated.

其中args参数的传递,一直不太明白,是怎么传的,如何赋值。调用的时候是怎么判断函数需要几个参数的(这个应该是自己定义的,自己清楚)。今天查了一下函数参数的打包与解包才算弄清楚。

摘录关键部分如下:

python中的 * 和 ** ,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的。

一、打包参数

* 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整个元组赋值给变量args。

** 的作用:在函数定义中,收集关键字参数到一个新的字典,并将整个字典赋值给变量kwargs。

二、解包参数

* 的作用:在函数调用中,* 能够将元组或列表解包成不同的参数。

** 的作用:在函数调用中,** 会以键/值的形式解包一个字典,使其成为一个独立的关键字参数。

打包和解包并不能脱离函数而存在!!

容器搭建wordpress的简单应用

打算尝试一下当前很火的docker,于是pull了下试试

docker pull wordpress

还有很重要的数据库,选项很少,mysql/mariadb,同样

docker pull mariadb

之后就是配置了,我是先启动的wordpress,再配置的数据库,感觉顺序反过来更好吧(其实一样)

$ docker run –name wordpress -v /root/wp:/var/www/html –network net -p 127.0.0.1:8080:80 -d wordpress

$ docker run –name db -v /root/wpdb:/var/lib/mysql –network net –network-alias db -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb

-v 参数后面“:“分隔的连个目录,是将容器内的目录映射到容器外,前面的为宿主机的目录,后面为容器内的目录

-p 为端口映射,同上。

wordpress里的端口映射的宿主机这里用的127.0.0.1(localhost不好使),我这用的nginx反向代理,用的比较习惯,certbot后可以方便加https


network 参数中的net是如下命令新建的

docker create network net

默认创建bridge类型的网络接口

network-alias db

上一句制定别名,这样同一个网络下的主机直接用这个别名访问,省得去查IP

此时如果打开网页,安装wordpress,填上数据库参数,会提示能连接上mysql,但不能选择数据库(默认的数据库名称wordpress),原因是还没建立数据库文件(表不用建)。执行下面的docker语句进入交互模式,建立数据库

$ docker run -it –network net –rm mariadb mysql -hdb -uexample-user -p

输入密码后,基本一句

create database wordpressdb;

这样wordpress就可以了。

这样在nginx下的配置文件加一个server快就好了!!

更新wordpress的URL

使用wp-config.php文件更改WordPress网站URL

对于这种方法,将站点URL添加到名为wp-config.php的WordPress配置文件中。此文件位于网站的根文件夹中,并且包含重要的WordPress设置。

define( ‘WP_HOME’, ‘https://www.valley2.top’ );

define( ‘WP_SITEURL’, ‘https://www.valley2.top’ );

保存所做的更改并将其上传回服务器。之后,访问网站以确保一切正常。之后这两句可以注释掉。

这只是其中一种方的法。更多参考 这里