Linux 搭建 Nginx (图片服务器)
打开nginx官网 http://nginxorg/en/downloadhtml
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
cd /usr/local/
tar -zxvf nginx-1201targz
/configure --with-http_ssl_module
编译参数有很多,这边我只增加了SSL模块,小伙伴可以根据自身情况调整
--prefix=PATH:指定 nginx 的安装目录
--conf-path=PATH:指定 nginxconf 配置文件路径
--user=NAME:nginx 工作进程的用户
--with-pcre:开启 PCRE 正则表达式的支持
--with-http_ssl_module:启动 SSL 的支持
--with-http_stub_status_module:用于监控 Nginx 的状态
--with-http-realip_module:允许改变客户端请求头中客户端 IP 地址
--with-file-aio:启用 File AIO
--add-module=PATH:添加第三方外部模块
make
执行完上述命令后,在解压目录下,多出一个Makefile文件
make install
因编译时未指定安装目录,执行make install 命令后看到反馈日志信息,实际安装目录为/usr/local/nginx
进入实际安装目录,看看,并在其sbin目录下执行启动nginx
cd /usr/local/nginx/
浏览器访问 http://ip:80 , 显示如下图则代表部署成功
进入 /usr/local/nginx/conf/ 文件夹,找到nginxconf 文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mimetypes;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8088;
server_name localhost;
location ~ (gif|jpg|jpeg|png|apk|pdf)$ {
expires 24h;
root /usr/local/img/;#指定存放路径
access_log /usr/local/nginx/logs/imageslog;#日志路径
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path /usr/local/img/;#代理临时路径
proxy_redirect off;
}
修改配置文件,内容如上
cd /usr/local/nginx/sbin
/nginx -s reload
浏览器输入 http://ip:8088/1png ,查看是否能正常显示
ftp工作是会启动两个通道:
控制通道 , 数据通道
在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)
PORT模式:
在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21) 发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。
PASV模式:
传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。
安装ftp
#rpm -qa vsftpd 查看是否已经安装
#yum install -y vsftpd
#rpm -ql vsftpd
/etc/logrotated/vsftpd vsftpd的日志文件
/etc/pamd/vsftpd PAM认证文件
/etc/rcd/initd/vsftpd 启动脚本
/etc/vsftpd vsftpd的配置文件存放的目录
/etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpdconf 主配置文件
/etc/vsftpd/vsftpd_conf_migratesh vsftpd操作的一些变量和设置
/usr/sbin/vsftpd vsftpd的主程序
其他一些说明文档和手册文件略!
/var/ftp 匿名用户主目录
/var/ftp/pub 匿名用户的下载目录
#service vsftpd start
#chkconfig --level vsftpd
#chkconfig --level 2345 vsftpd on
2 匿名用户的登录名:ftp(anonymous) 密码空 ,登录的目录为/var/ftp
用匿名用户登录的时候默认是只有下载的权限,没有上传,创建和删除的权限:
#vim /etc/vsftpd/vsftpdconf
anon_upload_enable=YES 上传
anon_mkdir_write_enable=YES 创建
anon_other_write_enable=YES 删除
#service vsftpd restart
为了安全应该禁止匿名用户的登录:
123456 #vim /etc/vsftpd/vsftpdconf
anonymous_enable=NO
#anon_upload_enable=YES 上传
#anon_mkdir_write_enable=YES 创建
#anon_other_write_enable=YES 删除
#service vsftpd restart
3 创建一个直接登录系统用户来登录ftp:
#useradd -s /sbin/nologin viong
#passwd viong
用户具有 上传 创建 下载 切换目录
------------------------------------------------------------------
4 加强vsftp安全设置:
限制系统用户锁定在家目录:
#vim /etc/vsftpd/vsftpdconf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 限制更多的系统用户,把需要限制的用户加入/etc/vsftpd/chroot_list中即可
#touch /etc/vsftpd/chroot_list
#cut -d: -f 1 /etc/passwd >>/etc/vsftpd/chroot_list 将本地用户都加入到chroot_list
限制重要系统用户不能登录ftp:
#cat /etc/vsftpd/ftpusers 默认已经添加了系统中一些比较重要的用户
#echo "viong" >>/etc/vsftpd/ftpusers 此时viong不能登录ftp
利用ftp用户策略允许登录ftp的系统用户:
/etc/vsftpd/user_list 只有在这个文件中的用户才能登录系统:
#vim /etc/vsftpd/vsftpdconf
#在userlist_enable=YES 的后面添加
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
设置登录ftp目标ip地址:用iptables设置
---------------------------------------
搭建支持SSL加密传输的vsftpd:
#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpdpem -out /etc/vsftpd/vsftpdpem 生成证书
#vim /etc/vsftpd/vsftpdconf
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpdpem
下面是ssl参数一些定义,根据自己需求去修改:
ssl_enable=yes/no //是否启用 SSL,默认为no
allow_anon_ssl=yes/no //是否允许匿名用户使用SSL,默认为no
rsa_cert_file=/path/to/file //rsa证书的位置
dsa_cert_file=/path/to/file //dsa证书的位置
force_local_logins_ssl=yes/no //非匿名用户登陆时是否加密,默认为yes
force_local_data_ssl=yes/no //非匿名用户传输数据时是否加密,默认为yes
force_anon_logins_ssl=yes/no //匿名用户登录时是否加密,默认为no
force_anon_data_ssl=yes/no //匿名用户数据传输时是否加密,默认为no
ssl_sslv2=yes/no //是否激活sslv2加密,默认no
ssl_sslv3=yes/no //是否激活sslv3加密,默认no
ssl_tlsv1=yes/no //是否激活tls v1加密,默认yes
ssl_ciphers=加密方法 //默认是DES-CBC3-SHA
#service vsftpd restart
用flashftp连接:
连接类型为:FTP使用公开SSL(验证SSL)
地址:192168137130:21
登录类型:普通
用户:viong
密码:123
1、撤销多余的服务根据机器的用途,很多服务是不需要的。要是Linux只用作桌面,就不需要sendmail、httpd和另外许多服务。如果你的服务器只是Web服务器,也可以关掉许多服务。为此,可转到管理菜单,检查服务项目。只需撤销所有不想启动的服务选项。
2、使用轻型窗口管理器代替GNOME或KDE我插入小脚印窗口管理器的原因是——它们大幅度减少图形(界面)启动时间。代替不得不额外等待启动GNOME或KDE的30到60秒。
3、确保内网应用正常。明确内网LINUX访问地址,并确保LINUX服务器的SSH服务正常。
4、在被访问端LINUX服务器上安装nat123客户端Linux,并使用它。登录网站,左侧用户中心,添加端口映射。选择全端口映射类型。填写内网LINUX固定地址端口,和外网访问的域名。可以使用自己的域名,也可以使用二级域名。
5、外网访问端安装nat123客户端并使用访问者。
大体上,这位大佬的教程已经非常完善了, 建议先通读TA的文章 ,再通读这篇。我增补一些这篇文章未提到但是有点让人抓狂的细节点。相信仔细阅读他的文章和我的文章,任何新手都能很从容的在linux下搭建属于自己的求生之路2服务器。
众所周知,linux服务器比windows服务器有更稳定和更安全的特点,而且其服务器利用效率较windows server更高,仅有一点问题,就是命令较多,难于熟记。不过也不用担心,常用的只有为数不多的命令而已。
PS:本文采用的是阿里云的cent os来进行实践得出的教程。
PS:阿里云目前有学生优惠,1核2G 5M 40GSSD的服务器学生价仅95元/月,可以说相当不错了,笔者其实也没多加斟酌,随便就选了阿里云的。童鞋们可以自己多斟酌,国内知名云服务器基本都有学生优惠。
sm_cvar sv_gametypes 的参数分别为: coop-合作 versus-对抗 survival-生存
z_difficulty 所有参数分别为: Easy-简单 Normal-普通 Hard-困难 Impossible-专家
此命令启用的命令和任务可以通过按下ctrl+A和ctrl+D (按住ctrl按A再按D) 来退出当前screen而保留任务后台运行,退出后用exit命令安全断开远程连接
下面这条命令可以重新打开后台的游戏服务器任务。 若要关闭游戏服务器,用 exit 命令
新增 /home/sun/l4d2server/srcds_run 为绝对路径,这样startsh无论移到任何目录都可以启动游戏服务器
新增 +map c3m1 用于设置默认地图
新增-maxplayers 8用于设置最大人数
新增 -tickrate xx用于设置服务器的 tickrate
笔者附上自己的 servercfg 部分有关 tickrate 的配置如下:
0条评论