从零开始配置服务器用于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. 使用RoboCopy 命令[转载]

    经常进行文件管理操作的朋友们,不满意于Windows系统内置的复制功能,因为它太龟速了.于是大家就使用FastCopy.TeraCopy之类的软件来加速复制,但是你是否知道Windows 7已经内置快 ...

  2. 【SSH进阶之路】Hibernate搭建开发环境+简单实例(二)

    Hibernate是很典型的持久层框架,持久化的思想是很值得我们学习和研究的.这篇博文,我们主要以实例的形式学习Hibernate,不深究Hibernate的思想和原理,否则,一味追求,苦学思想和原理 ...

  3. iOS自己定义返回button(不影响返回手势)

    此方法能够自己定义返回button,且不影响返回手势. 新方法: self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] in ...

  4. Redis学习笔记3-Redis5个可运行程序命令的使用

    在redis安装文章中,说到安装好redis后,在/usr/local/bin下有5个关于redis的可运行程序.以下关于这5个可运行程序命令的具体说明. redis-server Redisserv ...

  5. Oracle index unusable和invisible的差别

    摘录自11g的官方文档:      UNUSABLE Specify UNUSABLE to mark the index or index partition(s) or index subpart ...

  6. vue组件之间的通信,父子之间的数据通信

    父子组件之间的通信问题既可以传递数据也可以传递变量,父组件传递数据给子组件可以使用props,子组件传递数据给父组件则可以自定义函数来监听子组件的事件发射器. 首先说说组件注册,组件的注册分为全局注册 ...

  7. Vue 实现原理

    vue.js是数据驱动web界面的库.vue核心思想个:数据驱动.组件系统 vue实现数据驱动视图原理 数据驱动是vue最大特点,所谓的数据驱动就是:当数据发生变化的时候,界面会相应的变化,我们不需要 ...

  8. Watcher 实现机制之client注冊

    Zookeeper 提供的了分布式数据的公布/订阅功能,通过 Watch 机制来实现这样的分布式的通知功能. Zookeeper 同意client向server注冊一个Watch监听.当服务端的一些指 ...

  9. Android自己定义组件系列【5】——进阶实践(2)

    上一篇<Android自己定义组件系列[5]--进阶实践(1)>中对任老师的<可下拉的PinnedHeaderExpandableListView的实现>前一部分进行了实现,这 ...

  10. VMWare无法共享文件夹(Win7宿主机\Ubuntu14.04客户机)

    在安装VMWare tools的时候,需要执行 vmware-install.pl.在安装过程中,需要编译vmhgfs module,如果编译失败就很可能导致共享文件夹无法正常挂载. 最近,我在虚拟机 ...