从零开始配置服务器用于ss+站点

1. SS

首先安装pyenv,安装pyenv之前先安装必要环境,具体命令行请见:

https://github.com/pyenv/pyenv/wiki/Common-build-problems

安装pyenv之后安装自己需要的py版本,再通过pip安装ss,完成SS安装。

2. 网站

偷懒,使用lnmp一键安装包:

https://lnmp.org/

如果服务器内存 <= 1G 会提示内存不足无法安装数据库,可跳过数据库的安装,稍后自行手动安装:

手动安装数据库:https://downloads.mariadb.org/

安装完lnmp后,找到nginx.conf,里面的配置应该比较成熟,不用进行太多修改,但是请把nginx log 那一行最后的 crit(意为仅记录严重错误?) 去掉,不然error log记录不全。

可按需修改 nginx.conf 的document root。

安装完数据库后,如遇使用 'localhost' 无法访问数据库而 127.0.0.1 可以的情况,参阅

http://www.jb51.net/article/54025.htm

附录: open_basedir

1. open_basedir

不想过多解释,先把这一个安全措施禁用掉比较方便,不然可能出现有些 PHP 框架如 Laravel 无法使用的问题。

找到与nginx.conf 在统一目录下的 fastcgi.conf,注释掉最后一行的 xxxx PHP_ADMIN_VALUE xxxxx

2. 创建新用户 +  bash profile

注意创建后给用户分配bash而不要用默认的sh,可通过usermod进行这项修改: usermod /bin/bash/ [username]

如要自定义bash profile,请注意

用户在登录时会首先载入全局的 /etc/profile, 其次载入用户各自的 ~/.bash_profile (这个名字可以替换成其他两个意思差不多的文件名,具体忘了),但是似乎不会载入~/.bashrc,因此可以手动在 .bash_profile 加入载入 .bashrc 的代码:

# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi

3. 切换用户且保持profile最新

切换用户的时候使用 `su -` 而不是 `su`,前面那个命令会重新载入用户的profile,相当于exit再登录。

比如 su - jeff | su - root

奇怪,我记得明明遇到了比这里多得多的乱七八糟问题,结果写下来就剩这么点了?

配置服务器 Ubuntu 记录+踩坑的更多相关文章

  1. 在CentOS/Windows下配置Nginx(以及踩坑)

    在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...

  2. Win10 安装配置 MongoDB 4.0 踩坑记

    redis 官方没有 Windows 版的,微软维护的已经好久没更新了,所以就在想着换成 MongoDB. 于是一趟被我复杂化的踩坑之旅就开始了,同时也记录一下,避免有人遇见跟我一样的问题. 首先在  ...

  3. Spring boot配置MongoDB以及Morphia踩坑记录

    pom 因为项目中采用Morphia(MongoDB的ODM框架,对象-文档映射(object-document mapper)),因此需要在pom文件中引入相应依赖: <dependency& ...

  4. Ubuntu 奇怪踩坑记录

    仓库ppa问题 当你使用 apt-get update 时候,提示 仓库 "http://ppa.launchpad.net/hzwhuang/ss-qt5/ubuntu bionic Re ...

  5. Ubuntu mysql踩坑记录

    安装: 1.sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3.  sudo apt-get install lib ...

  6. 服务器端 CentOS 下配置 JDK 和 Tonmcat 踩坑合集

    一.配置 JDK 时,在 /etc/profile 文件下配置环境变量,添加   #java environment export JAVA_HOME=/usr/java/jdk- export CL ...

  7. webpack中 resolve.alias 配置,@import相关踩坑

    1.在使用webpack打包项目时,可以在配置文件中配置resolve.alias来定义一些绝对路径,方便在项目中灵活使用路径,举例如下: resolve: { extensions: [‘.js‘, ...

  8. 获取SpringCloud gateway响应的response的值,记录踩坑

    最近在做网关改造,想要通过Gateway过滤器获取ResponseBody的值,查看了网上的帖子和官网内容: 帖子:https://cloud.tencent.com/developer/articl ...

  9. windows下node配置npm全局路径(踩坑)

    事情的起因是:Koa要求v7.6.0以上的nodejs. 但是window环境下升级node不容易,试过npm install -g n 和n stable等命令无效,而网上推荐的nvm并不支持win ...

随机推荐

  1. list.ensureCapacity竟然会变慢

    list.ensureCapacity竟然会变慢 jdk1.8 应该是做了优化了: public class Test10 { public static void main(String[] arg ...

  2. [Java Sprint] Spring XML Configuration : Constructor Injection Demo

    Previous we see how to do Setter injection: https://www.cnblogs.com/Answer1215/p/9472117.html Now le ...

  3. Trie树(Prefix Tree)介绍

    本文用尽量简洁的语言介绍一种树形数据结构 -- Trie树. 一.什么是Trie树 Trie树,又叫字典树.前缀树(Prefix Tree).单词查找树 或 键树,是一种多叉树结构.如下图: 上图是一 ...

  4. 数组/矩阵转换成Image类

    Python下将数组/矩阵转换成Image类 原创 2017年04月21日 19:21:27 标签: python / 图像处理 3596 先说明一下为什么要将数组转换成Image类.我处理的图像是F ...

  5. Python开发【1.4数据类型】

    1.数字 数字数据类型用于存储数值. 他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象. # 创建对象 var1 = 1 var2 = 2 # 删除对象 del var1 del ...

  6. iOS开发——高级篇——iOS 强制退出程序APP代码

    1.先po代码 UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.exitapplication message:@" ...

  7. Codeforces Round #323 (Div. 2) D. Once Again... 暴力+最长非递减子序列

                                                                                  D. Once Again... You a ...

  8. 第一次PHP面试题

    1.标记符title是放在标记符什么之间:head 2.级联样式表文件的扩展名:CSS 3.html中<pre>的作用:pre 元素可定义预格式化的文本 4.mysql_affected_ ...

  9. 混淆时报:Proguard returned with error code 1. See console

    发生这个错误是因为打包混淆时找不到我们的引用包,有的人可能说我没有引用什么Library啊,事实上,我们现在的项目创建时就默认有v4包,这是google提供的兼容包,主要为了应对Android3.0以 ...

  10. 学习 Shell —— 认识 shell

    0. 认识 shell shell 是一个命令行解释器(interpreter),它会输出一个提示符,等待输入一个命令,然后执行该命令.如果该命令行的第一个单词不是一个内置的 shell 命令,那么 ...